x_ite 5.0.3 → 6.1.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/.vscode/settings.json +12 -5
- package/.vscode/tasks.json +25 -1
- package/Makefile +36 -28
- package/README.md +6 -11
- package/build/bin/dist.pl +0 -6
- package/build/bin/examples-and-tests.pl +75 -0
- package/build/bin/tests-menu.pl +57 -0
- package/build/bin/version.pl +7 -4
- package/build/parts/default.start.frag.js +3 -2
- package/dist/assets/components/annotation.js +3 -2
- package/dist/assets/components/annotation.min.js +1 -1
- package/dist/assets/components/cad-geometry.js +3 -2
- package/dist/assets/components/cad-geometry.min.js +1 -1
- package/dist/assets/components/cube-map-texturing.js +8 -20
- package/dist/assets/components/cube-map-texturing.min.js +1 -1
- package/dist/assets/components/dis.js +3 -2
- package/dist/assets/components/dis.min.js +1 -1
- package/dist/assets/components/event-utilities.js +4 -3
- package/dist/assets/components/event-utilities.min.js +1 -1
- package/dist/assets/components/geometry2d.js +38 -52
- package/dist/assets/components/geometry2d.min.js +1 -1
- package/dist/assets/components/geospatial.js +34 -1686
- package/dist/assets/components/geospatial.min.js +1 -1
- package/dist/assets/components/h-anim.js +71 -77
- package/dist/assets/components/h-anim.min.js +1 -1
- package/dist/assets/components/key-device-sensor.js +4 -3
- package/dist/assets/components/key-device-sensor.min.js +1 -1
- package/dist/assets/components/layout.js +101 -173
- package/dist/assets/components/layout.min.js +1 -1
- package/dist/assets/components/nurbs.js +3 -2
- package/dist/assets/components/nurbs.min.js +1 -1
- package/dist/assets/components/particle-systems.js +1926 -1669
- package/dist/assets/components/particle-systems.min.js +1 -1
- package/dist/assets/components/picking.js +34 -41
- package/dist/assets/components/picking.min.js +1 -1
- package/dist/assets/components/projective-texture-mapping.js +73 -86
- package/dist/assets/components/projective-texture-mapping.min.js +1 -1
- package/dist/assets/components/rigid-body-physics.js +37 -57
- package/dist/assets/components/rigid-body-physics.min.js +1 -1
- package/dist/assets/components/scripting.js +3 -2
- package/dist/assets/components/scripting.min.js +1 -1
- package/dist/assets/components/texturing-3d.js +27 -33
- package/dist/assets/components/texturing-3d.min.js +3 -3
- package/dist/assets/components/volume-rendering.js +12 -11
- package/dist/assets/components/volume-rendering.min.js +1 -1
- package/dist/assets/components/x_ite.js +3 -2
- package/dist/assets/components/x_ite.min.js +1 -1
- package/dist/assets/images/Shading.png +0 -0
- package/dist/assets/linetype/1.png +0 -0
- package/dist/assets/linetype/10.png +0 -0
- package/dist/assets/linetype/11.png +0 -0
- package/dist/assets/linetype/12.png +0 -0
- package/dist/assets/linetype/13.png +0 -0
- package/dist/assets/linetype/14.png +0 -0
- package/dist/assets/linetype/15.png +0 -0
- package/dist/assets/linetype/16.png +0 -0
- package/dist/assets/linetype/2.png +0 -0
- package/dist/assets/linetype/3.png +0 -0
- package/dist/assets/linetype/4.png +0 -0
- package/dist/assets/linetype/5.png +0 -0
- package/dist/assets/linetype/6.png +0 -0
- package/dist/assets/linetype/7.png +0 -0
- package/dist/assets/linetype/8.png +0 -0
- package/dist/assets/linetype/9.png +0 -0
- package/dist/assets/shaders/webgl1/Gouraud.vs +1 -1
- package/dist/assets/shaders/webgl1/Line.fs +0 -21
- package/dist/assets/shaders/webgl1/Line.vs +0 -10
- package/dist/assets/shaders/webgl1/PBR.fs +1 -1
- package/dist/assets/shaders/webgl1/PBR.vs +1 -1
- package/dist/assets/shaders/webgl1/Phong.fs +1 -1
- package/dist/assets/shaders/webgl1/Point.vs +1 -1
- package/dist/assets/shaders/webgl2/Depth.vs +29 -1
- package/dist/assets/shaders/webgl2/Gouraud.vs +32 -4
- package/dist/assets/shaders/webgl2/Line.fs +24 -12
- package/dist/assets/shaders/webgl2/Line.vs +36 -11
- package/dist/assets/shaders/webgl2/LineTransform.fs +4 -0
- package/dist/assets/shaders/webgl2/LineTransform.vs +57 -0
- package/dist/assets/shaders/webgl2/PBR.fs +1 -1
- package/dist/assets/shaders/webgl2/PBR.vs +35 -7
- package/dist/assets/shaders/webgl2/Phong.fs +1 -1
- package/dist/assets/shaders/webgl2/Phong.vs +31 -3
- package/dist/assets/shaders/webgl2/Point.vs +30 -2
- package/dist/assets/shaders/webgl2/Unlit.vs +31 -3
- package/dist/example.html +6 -6
- package/dist/x_ite.css +199 -224
- package/dist/x_ite.js +16335 -15917
- package/dist/x_ite.min.js +17 -17
- package/dist/x_ite.zip +0 -0
- package/docs/404.md +6 -0
- package/docs/Accessing-the-External-Browser.md +21 -15
- package/docs/Browser-Support.md +6 -0
- package/docs/Custom-Shaders.md +18 -25
- package/docs/Features.md +11 -5
- package/docs/Gemfile +44 -0
- package/docs/Gemfile.lock +122 -0
- package/docs/Glossary.md +6 -0
- package/docs/How-To-Configure-Your-Web-Server.md +6 -0
- package/docs/Supported-Nodes.md +9 -1
- package/docs/What's-New.md +93 -39
- package/docs/XHTML-DOM-Integration.md +6 -0
- package/docs/_config.yml +2 -2
- package/docs/assets/css/main.scss +26 -0
- package/docs/index.md +42 -50
- package/docs/reference/Browser-Services.md +9 -3
- package/docs/reference/Constants-Services.md +6 -0
- package/docs/reference/ECMAScript-Object-and-Function-Definitions.md +12 -6
- package/docs/reference/Field-Services-and-Objects.md +105 -1
- package/docs/reference/Prototype-Services.md +11 -0
- package/docs/reference/Route-Services.md +9 -0
- package/docs/reference/Scene-Services.md +17 -2
- package/docs/reference/Script-Node-Authoring-Interface.md +7 -1
- package/docs/tutorials/Adding-backgrounds.md +6 -0
- package/docs/tutorials/Adding-fog.md +6 -0
- package/docs/tutorials/Adding-sound.md +6 -0
- package/docs/tutorials/Animating-transforms.md +6 -0
- package/docs/tutorials/Basic-Nodes.md +6 -0
- package/docs/tutorials/Building-a-X3D-world.md +6 -0
- package/docs/tutorials/Building-elevation-grids.md +6 -0
- package/docs/tutorials/Building-extruded-shapes.md +6 -0
- package/docs/tutorials/Building-primitive-shapes.md +6 -0
- package/docs/tutorials/Building-shapes-out-of-points,-lines,-and-faces.md +6 -0
- package/docs/tutorials/Controlling-appearance-with-materials.md +6 -0
- package/docs/tutorials/Controlling-color-on-coordinate-based-geometry.md +6 -0
- package/docs/tutorials/Controlling-detail.md +6 -0
- package/docs/tutorials/Controlling-how-textures-are-mapped.md +6 -0
- package/docs/tutorials/Controlling-navigation.md +6 -0
- package/docs/tutorials/Controlling-shading-on-coordinate-based-geometry.md +6 -0
- package/docs/tutorials/Controlling-the-viewpoint.md +6 -0
- package/docs/tutorials/Creating-new-node-types.md +6 -0
- package/docs/tutorials/Grouping-nodes.md +6 -0
- package/docs/tutorials/Hello,-World!.md +6 -0
- package/docs/tutorials/Improving-Performance.md +6 -0
- package/docs/tutorials/Increasing-Rendering-Speed.md +6 -0
- package/docs/tutorials/Introducing-X3D.md +6 -0
- package/docs/tutorials/Introducing-animation.md +6 -0
- package/docs/tutorials/Introducing-script-use.md +6 -0
- package/docs/tutorials/Lighting-your-world.md +6 -0
- package/docs/tutorials/Mapping-textures.md +6 -0
- package/docs/tutorials/Naming-nodes.md +6 -0
- package/docs/tutorials/Providing-information-about-your-world.md +6 -0
- package/docs/tutorials/Sensing-the-viewer.md +6 -0
- package/docs/tutorials/Sensing-viewer-actions.md +6 -0
- package/docs/tutorials/Transforming-Shapes.md +6 -0
- package/docs/tutorials/Writing-program-scripts-with-ECMAScript.md +6 -0
- package/docs/tutorials/index.md +42 -36
- package/package.json +6 -7
- package/src/assets/components/geometry2d.js +1 -1
- package/src/assets/components/key-device-sensor.js +1 -1
- package/src/assets/components/layout.js +1 -1
- package/src/assets/components/particle-systems.js +1 -1
- package/src/assets/components/volume-rendering.js +1 -1
- package/src/assets/images/Shading.png +0 -0
- package/src/assets/linetype/1.png +0 -0
- package/src/assets/linetype/10.png +0 -0
- package/src/assets/linetype/11.png +0 -0
- package/src/assets/linetype/12.png +0 -0
- package/src/assets/linetype/13.png +0 -0
- package/src/assets/linetype/14.png +0 -0
- package/src/assets/linetype/15.png +0 -0
- package/src/assets/linetype/16.png +0 -0
- package/src/assets/linetype/2.png +0 -0
- package/src/assets/linetype/3.png +0 -0
- package/src/assets/linetype/4.png +0 -0
- package/src/assets/linetype/5.png +0 -0
- package/src/assets/linetype/6.png +0 -0
- package/src/assets/linetype/7.png +0 -0
- package/src/assets/linetype/8.png +0 -0
- package/src/assets/linetype/9.png +0 -0
- package/src/assets/shaders/Types.glsl +1 -9
- package/src/assets/shaders/webgl1/Gouraud.fs +1 -1
- package/src/assets/shaders/webgl1/Gouraud.vs +2 -3
- package/src/assets/shaders/webgl1/Line.fs +3 -28
- package/src/assets/shaders/webgl1/Line.vs +6 -20
- package/src/assets/shaders/webgl1/PBR.fs +6 -6
- package/src/assets/shaders/webgl1/PBR.vs +1 -1
- package/src/assets/shaders/webgl1/Phong.fs +10 -10
- package/src/assets/shaders/webgl1/Point.vs +2 -2
- package/src/assets/shaders/webgl1/Unlit.fs +4 -4
- package/src/assets/shaders/webgl1/include/Normal.glsl +1 -1
- package/src/assets/shaders/webgl1/include/Texture.glsl +3 -8
- package/src/assets/shaders/webgl2/Depth.vs +4 -1
- package/src/assets/shaders/webgl2/Gouraud.fs +1 -1
- package/src/assets/shaders/webgl2/Gouraud.vs +8 -6
- package/src/assets/shaders/webgl2/Line.fs +11 -17
- package/src/assets/shaders/webgl2/Line.vs +17 -21
- package/src/assets/shaders/webgl2/LineTransform.fs +6 -0
- package/src/assets/shaders/webgl2/LineTransform.vs +77 -0
- package/src/assets/shaders/webgl2/PBR.fs +6 -6
- package/src/assets/shaders/webgl2/PBR.vs +10 -7
- package/src/assets/shaders/webgl2/Phong.fs +11 -11
- package/src/assets/shaders/webgl2/Phong.vs +6 -3
- package/src/assets/shaders/webgl2/Point.vs +5 -4
- package/src/assets/shaders/webgl2/Unlit.fs +5 -5
- package/src/assets/shaders/webgl2/Unlit.vs +6 -3
- package/src/assets/shaders/webgl2/include/Line2.glsl +20 -0
- package/src/assets/shaders/webgl2/include/Normal.glsl +1 -1
- package/src/assets/shaders/webgl2/include/Particle.glsl +36 -0
- package/src/assets/shaders/webgl2/include/Texture.glsl +3 -3
- package/src/example.html +6 -6
- package/src/examples.js +5 -4
- package/src/standard/Math/Algorithm.js +12 -28
- package/src/standard/Math/Geometry/Line2.js +163 -0
- package/src/standard/Math/Geometry/Line3.js +3 -5
- package/src/standard/Math/Geometry/Plane3.js +0 -2
- package/src/standard/Math/Geometry/Triangle3.js +1 -1
- package/src/standard/Math/Geometry/ViewVolume.js +121 -103
- package/src/standard/Math/Numbers/Color3.js +6 -0
- package/src/standard/Math/Numbers/Color4.js +7 -0
- package/src/standard/Math/Numbers/Complex.js +48 -34
- package/src/standard/Math/Numbers/Matrix2.js +62 -2
- package/src/standard/Math/Numbers/Matrix3.js +129 -110
- package/src/standard/Math/Numbers/Matrix4.js +138 -119
- package/src/standard/Math/Numbers/Quaternion.js +12 -5
- package/src/standard/Math/Numbers/Rotation4.js +8 -1
- package/src/standard/Math/Numbers/Vector2.js +42 -9
- package/src/standard/Math/Numbers/Vector3.js +50 -14
- package/src/standard/Math/Numbers/Vector4.js +48 -11
- package/src/standard/Math/Utility/BVH.js +45 -17
- package/src/tests.js +68 -66
- package/src/x_ite/Base/X3DBaseNode.js +22 -11
- package/src/x_ite/Base/X3DField.js +1 -1
- package/src/x_ite/Browser/Core/BrowserOptions.js +24 -143
- package/src/x_ite/Browser/Core/BrowserTimings.js +6 -4
- package/src/x_ite/Browser/Core/Context.js +185 -0
- package/src/x_ite/Browser/Core/ContextMenu.js +398 -211
- package/src/x_ite/Browser/Core/Notification.js +1 -0
- package/src/x_ite/Browser/Core/X3DCoreContext.js +35 -146
- package/src/x_ite/Browser/Followers/X3DArrayFollowerTemplate.js +1 -1
- package/src/x_ite/Browser/Geometry2D/Disk2DOptions.js +1 -0
- package/src/x_ite/Browser/Geometry2D/X3DGeometry2DContext.js +2 -2
- package/src/x_ite/Browser/Geometry3D/X3DGeometry3DContext.js +41 -2
- package/src/x_ite/Browser/Geospatial/Geocentric.js +2 -2
- package/src/x_ite/Browser/Interpolation/CatmullRomSplineInterpolatorTemplate.js +1 -1
- package/src/x_ite/Browser/Layout/ScreenText.js +18 -65
- package/src/x_ite/Browser/Layout/X3DLayoutContext.js +59 -16
- package/src/x_ite/Browser/Navigation/ExamineViewer.js +13 -20
- package/src/x_ite/Browser/Navigation/LookAtViewer.js +1 -4
- package/src/x_ite/Browser/Navigation/PlaneViewer.js +0 -3
- package/src/x_ite/Browser/Navigation/X3DFlyViewer.js +15 -8
- package/src/x_ite/Browser/Navigation/X3DViewer.js +12 -20
- package/src/x_ite/Browser/Networking/X3DNetworkingContext.js +11 -7
- package/src/x_ite/Browser/ParticleSystems/BVH.glsl +183 -0
- package/src/x_ite/Browser/ParticleSystems/Box3.glsl +47 -0
- package/src/x_ite/Browser/ParticleSystems/GeometryTypes.js +66 -0
- package/src/x_ite/Browser/ParticleSystems/Line3.glsl +55 -0
- package/src/x_ite/Browser/ParticleSystems/Plane3.glsl +160 -0
- package/src/x_ite/Browser/PointingDeviceSensor/PointingDevice.js +27 -3
- package/src/x_ite/Browser/PointingDeviceSensor/X3DPointingDeviceSensorContext.js +41 -37
- package/src/x_ite/Browser/Rendering/X3DRenderingContext.js +21 -13
- package/src/x_ite/Browser/Shaders/Shader.js +33 -12
- package/src/x_ite/Browser/Shaders/ShaderSource.js +6 -0
- package/src/x_ite/Browser/Shaders/ShaderTest.js +16 -10
- package/src/x_ite/Browser/Shape/X3DShapeContext.js +50 -9
- package/src/x_ite/Browser/Text/X3DTextContext.js +4 -13
- package/src/x_ite/Browser/Text/X3DTextGeometry.js +2 -1
- package/src/x_ite/Browser/Texturing/X3DTexturingContext.js +71 -34
- package/src/x_ite/Browser/Texturing3D/DICOMParser.js +2 -2
- package/src/x_ite/Browser/Time/X3DTimeContext.js +4 -2
- package/src/x_ite/Browser/VERSION.js +1 -1
- package/src/x_ite/Browser/X3DBrowser.js +7 -6
- package/src/x_ite/Browser/X3DBrowserContext.js +43 -10
- package/src/x_ite/Components/Core/X3DNode.js +4 -0
- package/src/x_ite/Components/Core/X3DPrototypeInstance.js +0 -2
- package/src/x_ite/Components/CubeMapTexturing/ComposedCubeMapTexture.js +3 -4
- package/src/x_ite/Components/CubeMapTexturing/GeneratedCubeMapTexture.js +1 -12
- package/src/x_ite/Components/CubeMapTexturing/ImageCubeMapTexture.js +1 -2
- package/src/x_ite/Components/EnvironmentalEffects/TextureBackground.js +1 -1
- package/src/x_ite/Components/EnvironmentalEffects/X3DBackgroundNode.js +76 -77
- package/src/x_ite/Components/EnvironmentalEffects/X3DFogObject.js +2 -9
- package/src/x_ite/Components/EnvironmentalSensor/ProximitySensor.js +51 -65
- package/src/x_ite/Components/EventUtilities/X3DSequencerNode.js +1 -1
- package/src/x_ite/Components/Followers/ColorDamper.js +1 -1
- package/src/x_ite/Components/Followers/X3DChaserNode.js +18 -32
- package/src/x_ite/Components/Followers/X3DDamperNode.js +1 -6
- package/src/x_ite/Components/Followers/X3DFollowerNode.js +1 -1
- package/src/x_ite/Components/Geometry2D/Disk2D.js +30 -46
- package/src/x_ite/Components/Geometry2D/TriangleSet2D.js +1 -1
- package/src/x_ite/Components/Geometry3D/ElevationGrid.js +12 -4
- package/src/x_ite/Components/Geometry3D/IndexedFaceSet.js +4 -4
- package/src/x_ite/Components/Geospatial/GeoCoordinate.js +10 -27
- package/src/x_ite/Components/Geospatial/GeoLOD.js +1 -1
- package/src/x_ite/Components/Geospatial/GeoPositionInterpolator.js +5 -10
- package/src/x_ite/Components/Geospatial/GeoTouchSensor.js +9 -16
- package/src/x_ite/Components/Geospatial/GeoTransform.js +6 -18
- package/src/x_ite/Components/Geospatial/GeoViewpoint.js +26 -30
- package/src/x_ite/Components/Geospatial/X3DGeospatialObject.js +20 -27
- package/src/x_ite/Components/Grouping/X3DGroupingNode.js +8 -8
- package/src/x_ite/Components/Grouping/X3DTransformNode.js +0 -4
- package/src/x_ite/Components/HAnim/HAnimHumanoid.js +68 -75
- package/src/x_ite/Components/Interpolation/OrientationInterpolator.js +4 -11
- package/src/x_ite/Components/Interpolation/X3DInterpolatorNode.js +1 -1
- package/src/x_ite/Components/Layout/LayoutGroup.js +4 -9
- package/src/x_ite/Components/Layout/ScreenFontStyle.js +1 -1
- package/src/x_ite/Components/Layout/ScreenGroup.js +16 -80
- package/src/x_ite/Components/Lighting/DirectionalLight.js +28 -36
- package/src/x_ite/Components/Lighting/PointLight.js +32 -47
- package/src/x_ite/Components/Lighting/SpotLight.js +33 -48
- package/src/x_ite/Components/Navigation/Billboard.js +49 -56
- package/src/x_ite/Components/Navigation/LOD.js +2 -2
- package/src/x_ite/Components/Navigation/OrthoViewpoint.js +29 -30
- package/src/x_ite/Components/Navigation/Viewpoint.js +16 -20
- package/src/x_ite/Components/Navigation/X3DViewpointNode.js +82 -111
- package/src/x_ite/Components/Networking/Anchor.js +18 -7
- package/src/x_ite/Components/ParticleSystems/BoundedPhysicsModel.js +6 -6
- package/src/x_ite/Components/ParticleSystems/ConeEmitter.js +44 -36
- package/src/x_ite/Components/ParticleSystems/ExplosionEmitter.js +26 -17
- package/src/x_ite/Components/ParticleSystems/ForcePhysicsModel.js +20 -7
- package/src/x_ite/Components/ParticleSystems/ParticleSystem.js +463 -882
- package/src/x_ite/Components/ParticleSystems/PointEmitter.js +39 -35
- package/src/x_ite/Components/ParticleSystems/PolylineEmitter.js +112 -128
- package/src/x_ite/Components/ParticleSystems/SurfaceEmitter.js +105 -112
- package/src/x_ite/Components/ParticleSystems/VolumeEmitter.js +138 -176
- package/src/x_ite/Components/ParticleSystems/WindPhysicsModel.js +16 -11
- package/src/x_ite/Components/ParticleSystems/X3DParticleEmitterNode.js +807 -217
- package/src/x_ite/Components/Picking/LinePickSensor.js +31 -39
- package/src/x_ite/Components/PointingDeviceSensor/CylinderSensor.js +91 -108
- package/src/x_ite/Components/PointingDeviceSensor/PlaneSensor.js +56 -59
- package/src/x_ite/Components/PointingDeviceSensor/SphereSensor.js +54 -71
- package/src/x_ite/Components/PointingDeviceSensor/TouchSensor.js +8 -15
- package/src/x_ite/Components/ProjectiveTextureMapping/TextureProjectorParallel.js +43 -50
- package/src/x_ite/Components/ProjectiveTextureMapping/TextureProjectorPerspective.js +32 -39
- package/src/x_ite/Components/Rendering/ClipPlane.js +3 -11
- package/src/x_ite/Components/Rendering/Color.js +12 -24
- package/src/x_ite/Components/Rendering/ColorRGBA.js +13 -25
- package/src/x_ite/Components/Rendering/IndexedLineSet.js +26 -4
- package/src/x_ite/Components/Rendering/LineSet.js +35 -13
- package/src/x_ite/Components/Rendering/PointSet.js +35 -13
- package/src/x_ite/Components/Rendering/X3DComposedGeometryNode.js +13 -5
- package/src/x_ite/Components/Rendering/X3DGeometryNode.js +331 -387
- package/src/x_ite/Components/Rendering/X3DLineGeometryNode.js +350 -140
- package/src/x_ite/Components/Rendering/X3DPointGeometryNode.js +116 -126
- package/src/x_ite/Components/RigidBodyPhysics/DoubleAxisHingeJoint.js +24 -38
- package/src/x_ite/Components/RigidBodyPhysics/SingleAxisHingeJoint.js +10 -17
- package/src/x_ite/Components/Shaders/ComposedShader.js +35 -75
- package/src/x_ite/Components/Shaders/FloatVertexAttribute.js +8 -11
- package/src/x_ite/Components/Shaders/Matrix3VertexAttribute.js +10 -14
- package/src/x_ite/Components/Shaders/Matrix4VertexAttribute.js +10 -14
- package/src/x_ite/Components/Shaders/ShaderPart.js +1 -10
- package/src/x_ite/Components/Shaders/X3DProgrammableShaderObject.js +220 -210
- package/src/x_ite/Components/Shaders/X3DShaderNode.js +28 -10
- package/src/x_ite/Components/Shaders/X3DVertexAttributeNode.js +15 -1
- package/src/x_ite/Components/Shape/Appearance.js +37 -4
- package/src/x_ite/Components/Shape/FillProperties.js +12 -1
- package/src/x_ite/Components/Shape/LineProperties.js +33 -1
- package/src/x_ite/Components/Shape/PointProperties.js +24 -3
- package/src/x_ite/Components/Shape/Shape.js +30 -39
- package/src/x_ite/Components/Shape/TwoSidedMaterial.js +3 -1
- package/src/x_ite/Components/Sound/Sound.js +31 -41
- package/src/x_ite/Components/Text/Text.js +6 -20
- package/src/x_ite/Components/Texturing/ImageTexture.js +1 -1
- package/src/x_ite/Components/Texturing/MovieTexture.js +1 -1
- package/src/x_ite/Components/Texturing/PixelTexture.js +2 -2
- package/src/x_ite/Components/Texturing/TextureCoordinate.js +5 -5
- package/src/x_ite/Components/Texturing/TextureProperties.js +4 -4
- package/src/x_ite/Components/Texturing/X3DSingleTextureNode.js +5 -4
- package/src/x_ite/Components/Texturing/X3DTexture2DNode.js +24 -33
- package/src/x_ite/Components/Texturing3D/TextureCoordinate3D.js +5 -5
- package/src/x_ite/Components/Texturing3D/TextureCoordinate4D.js +5 -5
- package/src/x_ite/Components/Texturing3D/X3DTexture3DNode.js +12 -19
- package/src/x_ite/Components/VolumeRendering/X3DVolumeDataNode.js +8 -8
- package/src/x_ite/Components.js +2 -2
- package/src/x_ite/Fallback.js +9 -3
- package/src/x_ite/Fields/SFColor.js +4 -0
- package/src/x_ite/Fields/SFColorRGBA.js +4 -0
- package/src/x_ite/Fields/SFImage.js +2 -11
- package/src/x_ite/Fields/SFMatrixPrototypeTemplate.js +4 -0
- package/src/x_ite/Fields/SFRotation.js +4 -0
- package/src/x_ite/Fields/SFString.js +4 -0
- package/src/x_ite/Fields/SFVecPrototypeTemplate.js +22 -2
- package/src/x_ite/Parser/XMLParser.js +1 -1
- package/src/x_ite/Rendering/TextureBuffer.js +43 -36
- package/src/x_ite/Rendering/VertexArray.js +103 -0
- package/src/x_ite/Rendering/X3DRenderObject.js +127 -148
- package/src/x_ite/X3D.js +32 -26
- package/src/x_ite.config.js +0 -5
- package/src/x_ite.css +216 -175
- package/src/x_ite.html +15 -10
- package/src/x_ite.js +49 -1
- package/x_ite.min.html +15 -10
- package/dist/assets/hatching/0.png +0 -0
- package/dist/assets/linetype/0.png +0 -0
- package/src/assets/hatching/0.png +0 -0
- package/src/assets/linetype/0.png +0 -0
- package/src/spinner.css +0 -67
- package/src/x_ite/Browser/Shape/LineStipples.xcf +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(){const e=window[Symbol.for("X_ITE.X3D-5.0.3")].define,t=window[Symbol.for("X_ITE.X3D-5.0.3")].require;e("x_ite/Components/CubeMapTexturing/X3DEnvironmentTextureNode",["x_ite/Components/Texturing/X3DSingleTextureNode","x_ite/Base/X3DConstants"],(function(e,t){"use strict";function i(i){e.call(this,i),this.addType(t.X3DEnvironmentTextureNode);const r=this.getBrowser().getContext();this.target=r.TEXTURE_CUBE_MAP,this.targets=[r.TEXTURE_CUBE_MAP_POSITIVE_Z,r.TEXTURE_CUBE_MAP_NEGATIVE_Z,r.TEXTURE_CUBE_MAP_NEGATIVE_X,r.TEXTURE_CUBE_MAP_POSITIVE_X,r.TEXTURE_CUBE_MAP_POSITIVE_Y,r.TEXTURE_CUBE_MAP_NEGATIVE_Y]}return i.prototype=Object.assign(Object.create(e.prototype),{constructor:i,getTarget:function(){return this.target},getTextureType:function(){return 4},getTextureTypeString:function(){return"CUBE"},getTargets:function(){return this.targets},clearTexture:function(){const e=new Uint8Array([255,255,255,255]);return function(){const t=this.getBrowser().getContext();t.bindTexture(this.getTarget(),this.getTexture());for(const i of this.getTargets())t.texImage2D(i,0,t.RGBA,1,1,0,t.RGBA,t.UNSIGNED_BYTE,e)}}(),updateTextureProperties:function(){e.prototype.updateTextureProperties.call(this,this.target,this._textureProperties.getValue(),this.texturePropertiesNode,128,128,!1,!1,!1)},setShaderUniformsToChannel:function(e,t,i,r){const n=i.getBrowser().getTextureCubeUnit();e.activeTexture(e.TEXTURE0+n),e.bindTexture(e.TEXTURE_CUBE_MAP,this.getTexture()),e.uniform1i(r.textureType,4),e.uniform1i(r.textureCube,n)}}),i})),e("x_ite/Components/CubeMapTexturing/ComposedCubeMapTexture",["x_ite/Fields","x_ite/Base/X3DFieldDefinition","x_ite/Base/FieldDefinitionArray","x_ite/Components/CubeMapTexturing/X3DEnvironmentTextureNode","x_ite/Base/X3DCast","x_ite/Base/X3DConstants"],(function(e,t,i,r,n,s){"use strict";function o(e){r.call(this,e),this.addType(s.ComposedCubeMapTexture),this.addAlias("front",this._frontTexture),this.addAlias("back",this._backTexture),this.addAlias("left",this._leftTexture),this.addAlias("right",this._rightTexture),this.addAlias("bottom",this._bottomTexture),this.addAlias("top",this._topTexture),this.textures=[null,null,null,null,null,null],this.symbols=[Symbol(),Symbol(),Symbol(),Symbol(),Symbol(),Symbol()],this.loadStates=0}return o.prototype=Object.assign(Object.create(r.prototype),{constructor:o,[Symbol.for("X_ITE.X3DBaseNode.fieldDefinitions")]:new i([new t(s.inputOutput,"metadata",new e.SFNode),new t(s.inputOutput,"description",new e.SFString),new t(s.inputOutput,"frontTexture",new e.SFNode),new t(s.inputOutput,"backTexture",new e.SFNode),new t(s.inputOutput,"leftTexture",new e.SFNode),new t(s.inputOutput,"rightTexture",new e.SFNode),new t(s.inputOutput,"bottomTexture",new e.SFNode),new t(s.inputOutput,"topTexture",new e.SFNode),new t(s.initializeOnly,"textureProperties",new e.SFNode)]),getTypeName:function(){return"ComposedCubeMapTexture"},getComponentName:function(){return"CubeMapTexturing"},getContainerField:function(){return"texture"},initialize:function(){r.prototype.initialize.call(this),this.clearTexture(),this._frontTexture.addInterest("set_texture__",this,0),this._backTexture.addInterest("set_texture__",this,1),this._leftTexture.addInterest("set_texture__",this,2),this._rightTexture.addInterest("set_texture__",this,3),this._topTexture.addInterest("set_texture__",this,5),this._bottomTexture.addInterest("set_texture__",this,4),this.set_texture__(this._frontTexture,0),this.set_texture__(this._backTexture,1),this.set_texture__(this._leftTexture,2),this.set_texture__(this._rightTexture,3),this.set_texture__(this._topTexture,4),this.set_texture__(this._bottomTexture,5)},set_texture__:function(e,t){let i=this.textures[t];i&&(i.removeInterest("set_loadState__",this),i._loadState.removeFieldCallback(this.symbols[t])),i=this.textures[t]=n(s.X3DTexture2DNode,e),i&&(i.addInterest("set_loadState__",this,i,t),i._loadState.addFieldCallback(this.symbols[t],this.set_loadState__.bind(this,i,t))),this.set_loadState__(i,t)},set_loadState__:function(e,t){e?this.setLoadStateBit(e.checkLoadState(),e.getData(),t):this.setLoadStateBit(s.NOT_STARTED,null,t),this.setTextures()},setLoadStateBit:function(e,t,i){e===s.COMPLETE_STATE||t?this.loadStates|=1<<i:this.loadStates&=~(1<<i)},isComplete:function(){if(63!==this.loadStates)return!1;const e=this.textures,t=e[0].getWidth();for(const i of e){if(i.getWidth()!==t)return!1;if(i.getHeight()!==t)return!1}return!0},setTextures:function(){const e=this.getBrowser().getContext();if(e.bindTexture(this.getTarget(),this.getTexture()),e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL,!1),this.isComplete()){const e=this.textures;for(let t=0;t<6;++t){const i=this.getBrowser().getContext(),r=e[t],n=r.getWidth(),s=r.getHeight(),o=r.getData();i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,!r.getFlipY()),i.pixelStorei(i.UNPACK_ALIGNMENT,1),o instanceof Uint8Array?i.texImage2D(this.getTargets()[t],0,i.RGBA,n,s,!1,i.RGBA,i.UNSIGNED_BYTE,o):i.texImage2D(this.getTargets()[t],0,i.RGBA,i.RGBA,i.UNSIGNED_BYTE,o)}this.updateTextureProperties()}else this.clearTexture();this.set_transparent__()},set_transparent__:function(){const e=!1;if(this.isComplete())for(const t of this.textures)if(t._transparent.getValue()){e=!0;break}this.setTransparent(e)}}),o})),e("x_ite/Rendering/DependentRenderer",["x_ite/Base/X3DBaseNode","x_ite/Rendering/X3DRenderObject","x_ite/Rendering/TraverseType"],(function(e,t,i){"use strict";function r(i){e.call(this,i),t.call(this,i),this.renderObject=null}r.prototype=Object.assign(Object.create(e.prototype),t.prototype,{constructor:r,initialize:function(){e.prototype.initialize.call(this),t.prototype.initialize.call(this)},isIndependent:function(){return!1},setRenderer:function(e){this.renderObject=e},getBrowser:function(){return this.renderObject.getBrowser()},getLayer:function(){return this.renderObject.getLayer()},getBackground:function(){return this.renderObject.getBackground()},getFog:function(){return this.renderObject.getFog()},getNavigationInfo:function(){return this.renderObject.getNavigationInfo()},getViewpoint:function(){return this.renderObject.getViewpoint()},getLightContainer:function(){return this.renderObject.getLights()[this.lightIndex++]},render:function(e,r,n){switch(e){case i.COLLISION:case i.SHADOW:t.prototype.render.call(this,e,r,n);break;case i.DISPLAY:this.lightIndex=0,t.prototype.render.call(this,e,r,n);for(const e of this.renderObject.getLights())e.getModelViewMatrix().pop()}}});for(const e of Reflect.ownKeys(r.prototype))Object.defineProperty(r.prototype,e,{enumerable:!1});return r})),e("x_ite/Components/CubeMapTexturing/GeneratedCubeMapTexture",["x_ite/Fields","x_ite/Base/X3DFieldDefinition","x_ite/Base/FieldDefinitionArray","x_ite/Components/CubeMapTexturing/X3DEnvironmentTextureNode","x_ite/Rendering/DependentRenderer","x_ite/Rendering/TextureBuffer","x_ite/Base/X3DConstants","x_ite/Rendering/TraverseType","standard/Math/Geometry/Camera","standard/Math/Geometry/ViewVolume","standard/Math/Numbers/Rotation4","standard/Math/Numbers/Vector3","standard/Math/Numbers/Vector4","standard/Math/Numbers/Matrix4","standard/Math/Algorithm"],(function(e,t,i,r,n,s,o,a,u,h,d,g,p,x,l){"use strict";function c(e){r.call(this,e),this.addType(o.GeneratedCubeMapTexture),this.renderer=new n(e),this.projectionMatrix=new x,this.modelMatrix=new x,this.viewVolume=new h}return c.prototype=Object.assign(Object.create(r.prototype),{constructor:c,[Symbol.for("X_ITE.X3DBaseNode.fieldDefinitions")]:new i([new t(o.inputOutput,"metadata",new e.SFNode),new t(o.inputOutput,"description",new e.SFString),new t(o.inputOutput,"update",new e.SFString("NONE")),new t(o.initializeOnly,"size",new e.SFInt32(128)),new t(o.initializeOnly,"textureProperties",new e.SFNode)]),getTypeName:function(){return"GeneratedCubeMapTexture"},getComponentName:function(){return"CubeMapTexturing"},getContainerField:function(){return"texture"},initialize:function(){r.prototype.initialize.call(this),this.renderer.setup();let e=l.nextPowerOfTwo(this._size.getValue());if(e>0){e=l.nextPowerOfTwo(e);const t=this.getBrowser().getContext(),i=new Uint8Array(e*e*4);t.bindTexture(this.getTarget(),this.getTexture());for(const r of this.getTargets())t.texImage2D(r,0,t.RGBA,e,e,0,t.RGBA,t.UNSIGNED_BYTE,i);this.viewport=new p(0,0,e,e),this.frameBuffer=new s(this.getBrowser(),e,e)}},traverse:function(e,t){"NONE"!==this._update.getValue()&&this.frameBuffer&&t.isIndependent()&&(t.getGeneratedCubeMapTextures().push(this),this.modelMatrix.assign(t.getModelViewMatrix().get()).multRight(t.getCameraSpaceMatrix().get()))},renderTexture:function(){const e=[new d(g.zAxis,new g(0,0,-1)),new d(g.zAxis,new g(0,0,1)),new d(g.zAxis,new g(1,0,0)),new d(g.zAxis,new g(-1,0,0)),new d(g.zAxis,new g(0,-1,0)),new d(g.zAxis,new g(0,1,0))],t=[new g(-1,-1,1),new g(-1,-1,1),new g(-1,-1,1),new g(-1,-1,1),new g(1,1,1),new g(1,1,1)],i=new x;return function(r){this.renderer.setRenderer(r);const n=this.renderer,s=r.getBrowser(),o=r.getLayer(),h=s.getContext(),d=n.getBackground(),g=n.getNavigationInfo(),p=n.getViewpoint(),c=s.getHeadlight(),T=g._headlight.getValue(),_=g.getNearValue(),f=g.getFarValue(p),w=u.perspective(l.radians(90),_,f,1,1,this.projectionMatrix);this.setTransparent(d.getTransparent()),this.frameBuffer.bind(),n.getViewVolumes().push(this.viewVolume.set(w,this.viewport,this.viewport)),n.getProjectionMatrix().pushMatrix(w),h.bindTexture(this.getTarget(),this.getTexture()),h.pixelStorei(h.UNPACK_FLIP_Y_WEBGL,!1);for(let r=0;r<6;++r){h.clear(h.COLOR_BUFFER_BIT),n.getCameraSpaceMatrix().pushMatrix(this.modelMatrix),n.getCameraSpaceMatrix().rotate(e[r]),n.getCameraSpaceMatrix().scale(t[r]);try{n.getViewMatrix().pushMatrix(i.assign(n.getCameraSpaceMatrix().get()).inverse())}catch(e){console.error(e),n.getViewMatrix().pushMatrix(x.Identity)}n.getModelViewMatrix().pushMatrix(i),T&&(c.getModelViewMatrix().pushMatrix(i),c.getModelViewMatrix().multLeft(p.getCameraSpaceMatrix())),o.traverse(a.DISPLAY,n),T&&c.getModelViewMatrix().pop(),n.getModelViewMatrix().pop(),n.getCameraSpaceMatrix().pop(),n.getViewMatrix().pop();const s=this.frameBuffer.readPixels(),u=this.frameBuffer.getWidth(),d=this.frameBuffer.getHeight();h.bindTexture(this.getTarget(),this.getTexture()),h.texImage2D(this.getTargets()[r],0,h.RGBA,u,d,!1,h.RGBA,h.UNSIGNED_BYTE,s)}this.updateTextureProperties(),n.getProjectionMatrix().pop(),n.getViewVolumes().pop(),this.frameBuffer.unbind(),"NEXT_FRAME_ONLY"===this._update.getValue()&&(this._update="NONE")}}(),setShaderUniformsToChannel:function(){const e=new Float32Array(16);return function(t,i,n,s){r.prototype.setShaderUniformsToChannel.call(this,t,i,n,s),n===this.renderer&&t.uniformMatrix4fv(i.x3d_ModelViewMatrix,!1,e)}}()}),c})),e("x_ite/Components/CubeMapTexturing/ImageCubeMapTexture",["jquery","x_ite/Fields","x_ite/Base/X3DFieldDefinition","x_ite/Base/FieldDefinitionArray","x_ite/Components/CubeMapTexturing/X3DEnvironmentTextureNode","x_ite/Components/Networking/X3DUrlObject","x_ite/Base/X3DConstants","standard/Math/Numbers/Vector2","standard/Math/Algorithm","x_ite/DEBUG"],(function(e,t,i,r,n,s,o,a,u,h){"use strict";const d=new Uint8Array([255,255,255,255]),g=[new a(1,1),new a(3,1),new a(0,1),new a(2,1),new a(1,0),new a(1,2)];function p(e){n.call(this,e),s.call(this,e),this.addType(o.ImageCubeMapTexture),this.urlStack=new t.MFString}return p.prototype=Object.assign(Object.create(n.prototype),s.prototype,{constructor:p,[Symbol.for("X_ITE.X3DBaseNode.fieldDefinitions")]:new r([new i(o.inputOutput,"metadata",new t.SFNode),new i(o.inputOutput,"description",new t.SFString),new i(o.inputOutput,"load",new t.SFBool(!0)),new i(o.inputOutput,"url",new t.MFString),new i(o.inputOutput,"autoRefresh",new t.SFTime),new i(o.inputOutput,"autoRefreshTimeLimit",new t.SFTime(3600)),new i(o.initializeOnly,"textureProperties",new t.SFNode)]),getTypeName:function(){return"ImageCubeMapTexture"},getComponentName:function(){return"CubeMapTexturing"},getContainerField:function(){return"texture"},initialize:function(){n.prototype.initialize.call(this),s.prototype.initialize.call(this);const t=this.getBrowser().getContext();t.bindTexture(this.getTarget(),this.getTexture());for(let e=0;e<6;++e)t.texImage2D(this.getTargets()[e],0,t.RGBA,1,1,0,t.RGBA,t.UNSIGNED_BYTE,d);this.canvas=e("<canvas></canvas>"),this.image=e("<img></img>"),this.image.on("load",this.setImage.bind(this)),this.image.on("error",this.setError.bind(this)),this.image.bind("abort",this.setError.bind(this)),this.image[0].crossOrigin="Anonymous",this.requestImmediateLoad()},unloadNow:function(){this.clearTexture()},loadNow:function(){this.urlStack.setValue(this._url),this.loadNext()},loadNext:function(){if(0===this.urlStack.length)return this.clearTexture(),void this.setLoadState(o.FAILED_STATE);this.URL=new URL(this.urlStack.shift(),this.getExecutionContext().getWorldURL()),"data:"!==this.URL.protocol&&(this.getBrowser().getBrowserOptions().getCache()&&this.getCache()||this.URL.searchParams.set("_",Date.now())),this.image.attr("src",this.URL.href)},setError:function(){"data:"!==this.URL.protocol&&console.warn("Error loading image:",decodeURI(this.URL.href)),this.loadNext()},setImage:function(){h&&"data:"!==this.URL.protocol&&console.info("Done loading image cube map texture:",decodeURI(this.URL.href));try{const e=this.image[0],t=this.canvas[0],i=t.getContext("2d");let r=e.width,n=e.height,s=Math.floor(r/4),a=Math.floor(n/3);u.isPowerOfTwo(s)&&u.isPowerOfTwo(a)&&4*s===r&&3*a===n?(t.width=r,t.height=n,i.drawImage(e,0,0)):(s=u.nextPowerOfTwo(s),a=u.nextPowerOfTwo(a),r=4*s,n=3*a,t.width=r,t.height=n,i.drawImage(e,0,0,e.width,e.height,0,0,r,n));const h=this.getBrowser().getContext();let d=!0;h.bindTexture(this.getTarget(),this.getTexture()),h.pixelStorei(h.UNPACK_FLIP_Y_WEBGL,!1);for(let e=0;e<6;++e){const t=i.getImageData(g[e].x*s,g[e].y*a,s,a).data;if(d)for(let e=3;e<t.length;e+=4)if(255!==t[e]){d=!1;break}h.texImage2D(this.getTargets()[e],0,h.RGBA,s,a,!1,h.RGBA,h.UNSIGNED_BYTE,new Uint8Array(t.buffer))}this.updateTextureProperties(),this.setTransparent(!d),this.setLoadState(o.COMPLETE_STATE)}catch(e){console.log(e.message),this.setError()}}}),p})),e(t.getComponentUrl("cube-map-texturing"),["x_ite/Components","x_ite/Components/CubeMapTexturing/ComposedCubeMapTexture","x_ite/Components/CubeMapTexturing/GeneratedCubeMapTexture","x_ite/Components/CubeMapTexturing/ImageCubeMapTexture","x_ite/Components/CubeMapTexturing/X3DEnvironmentTextureNode"],(function(e,t,i,r,n){"use strict";e.addComponent({name:"CubeMapTexturing",types:{ComposedCubeMapTexture:t,GeneratedCubeMapTexture:i,ImageCubeMapTexture:r},abstractTypes:{X3DEnvironmentTextureNode:n}})}))}();
|
|
1
|
+
!function(){const e=window[Symbol.for("X_ITE.X3D-6.1.0")],t=e.define,i=e.require;t("x_ite/Components/CubeMapTexturing/X3DEnvironmentTextureNode",["x_ite/Components/Texturing/X3DSingleTextureNode","x_ite/Base/X3DConstants"],(function(e,t){"use strict";function i(i){e.call(this,i),this.addType(t.X3DEnvironmentTextureNode);const r=this.getBrowser().getContext();this.target=r.TEXTURE_CUBE_MAP,this.targets=[r.TEXTURE_CUBE_MAP_POSITIVE_Z,r.TEXTURE_CUBE_MAP_NEGATIVE_Z,r.TEXTURE_CUBE_MAP_NEGATIVE_X,r.TEXTURE_CUBE_MAP_POSITIVE_X,r.TEXTURE_CUBE_MAP_POSITIVE_Y,r.TEXTURE_CUBE_MAP_NEGATIVE_Y]}return i.prototype=Object.assign(Object.create(e.prototype),{constructor:i,getTarget:function(){return this.target},getTextureType:function(){return 4},getTextureTypeString:function(){return"CUBE"},getTargets:function(){return this.targets},clearTexture:function(){const e=new Uint8Array([255,255,255,255]);return function(){const t=this.getBrowser().getContext();t.bindTexture(this.getTarget(),this.getTexture());for(const i of this.getTargets())t.texImage2D(i,0,t.RGBA,1,1,0,t.RGBA,t.UNSIGNED_BYTE,e)}}(),updateTextureProperties:function(){e.prototype.updateTextureProperties.call(this,this.target,this._textureProperties.getValue(),this.texturePropertiesNode,128,128,!1,!1,!1)},setShaderUniformsToChannel:function(e,t,i,r){const n=i.getBrowser().getTextureCubeUnit();e.activeTexture(e.TEXTURE0+n),e.bindTexture(e.TEXTURE_CUBE_MAP,this.getTexture()),e.uniform1i(r.textureType,4),e.uniform1i(r.textureCube,n)}}),i})),t("x_ite/Components/CubeMapTexturing/ComposedCubeMapTexture",["x_ite/Fields","x_ite/Base/X3DFieldDefinition","x_ite/Base/FieldDefinitionArray","x_ite/Components/CubeMapTexturing/X3DEnvironmentTextureNode","x_ite/Base/X3DCast","x_ite/Base/X3DConstants"],(function(e,t,i,r,n,s){"use strict";function o(e){r.call(this,e),this.addType(s.ComposedCubeMapTexture),this.addAlias("front",this._frontTexture),this.addAlias("back",this._backTexture),this.addAlias("left",this._leftTexture),this.addAlias("right",this._rightTexture),this.addAlias("bottom",this._bottomTexture),this.addAlias("top",this._topTexture),this.textures=[null,null,null,null,null,null],this.symbols=[Symbol(),Symbol(),Symbol(),Symbol(),Symbol(),Symbol()],this.loadStates=0}return o.prototype=Object.assign(Object.create(r.prototype),{constructor:o,[Symbol.for("X_ITE.X3DBaseNode.fieldDefinitions")]:new i([new t(s.inputOutput,"metadata",new e.SFNode),new t(s.inputOutput,"description",new e.SFString),new t(s.inputOutput,"frontTexture",new e.SFNode),new t(s.inputOutput,"backTexture",new e.SFNode),new t(s.inputOutput,"leftTexture",new e.SFNode),new t(s.inputOutput,"rightTexture",new e.SFNode),new t(s.inputOutput,"bottomTexture",new e.SFNode),new t(s.inputOutput,"topTexture",new e.SFNode),new t(s.initializeOnly,"textureProperties",new e.SFNode)]),getTypeName:function(){return"ComposedCubeMapTexture"},getComponentName:function(){return"CubeMapTexturing"},getContainerField:function(){return"texture"},initialize:function(){r.prototype.initialize.call(this),this.clearTexture(),this._frontTexture.addInterest("set_texture__",this,0),this._backTexture.addInterest("set_texture__",this,1),this._leftTexture.addInterest("set_texture__",this,2),this._rightTexture.addInterest("set_texture__",this,3),this._topTexture.addInterest("set_texture__",this,5),this._bottomTexture.addInterest("set_texture__",this,4),this.set_texture__(this._frontTexture,0),this.set_texture__(this._backTexture,1),this.set_texture__(this._leftTexture,2),this.set_texture__(this._rightTexture,3),this.set_texture__(this._topTexture,4),this.set_texture__(this._bottomTexture,5)},set_texture__:function(e,t){let i=this.textures[t];i&&(i.removeInterest("set_loadState__",this),i._loadState.removeFieldCallback(this.symbols[t])),i=this.textures[t]=n(s.X3DTexture2DNode,e),i&&(i.addInterest("set_loadState__",this,i,t),i._loadState.addFieldCallback(this.symbols[t],this.set_loadState__.bind(this,i,t))),this.set_loadState__(i,t)},set_loadState__:function(e,t){e?this.setLoadStateBit(e.checkLoadState(),e.getData(),t):this.setLoadStateBit(s.NOT_STARTED,null,t),this.setTextures()},setLoadStateBit:function(e,t,i){e===s.COMPLETE_STATE||t?this.loadStates|=1<<i:this.loadStates&=~(1<<i)},isComplete:function(){if(63!==this.loadStates)return!1;const e=this.textures,t=e[0].getWidth();for(const i of e){if(i.getWidth()!==t)return!1;if(i.getHeight()!==t)return!1}return!0},setTextures:function(){const e=this.getBrowser().getContext();if(e.bindTexture(this.getTarget(),this.getTexture()),this.isComplete()){const t=this.textures;for(let i=0;i<6;++i){const r=t[i],n=r.getWidth(),s=r.getHeight(),o=r.getData();e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL,!r.getFlipY()),o instanceof Uint8Array?e.texImage2D(this.getTargets()[i],0,e.RGBA,n,s,!1,e.RGBA,e.UNSIGNED_BYTE,o):e.texImage2D(this.getTargets()[i],0,e.RGBA,e.RGBA,e.UNSIGNED_BYTE,o)}e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL,!1),this.updateTextureProperties()}else this.clearTexture();this.set_transparent__()},set_transparent__:function(){const e=!1;if(this.isComplete())for(const t of this.textures)if(t._transparent.getValue()){e=!0;break}this.setTransparent(e)}}),o})),t("x_ite/Rendering/DependentRenderer",["x_ite/Base/X3DBaseNode","x_ite/Rendering/X3DRenderObject","x_ite/Rendering/TraverseType"],(function(e,t,i){"use strict";function r(i){e.call(this,i),t.call(this,i),this.renderObject=null}r.prototype=Object.assign(Object.create(e.prototype),t.prototype,{constructor:r,initialize:function(){e.prototype.initialize.call(this),t.prototype.initialize.call(this)},isIndependent:function(){return!1},setRenderer:function(e){this.renderObject=e},getBrowser:function(){return this.renderObject.getBrowser()},getLayer:function(){return this.renderObject.getLayer()},getBackground:function(){return this.renderObject.getBackground()},getFog:function(){return this.renderObject.getFog()},getNavigationInfo:function(){return this.renderObject.getNavigationInfo()},getViewpoint:function(){return this.renderObject.getViewpoint()},getLightContainer:function(){return this.renderObject.getLights()[this.lightIndex++]},render:function(e,r,n){switch(e){case i.COLLISION:case i.SHADOW:t.prototype.render.call(this,e,r,n);break;case i.DISPLAY:this.lightIndex=0,t.prototype.render.call(this,e,r,n);for(const e of this.renderObject.getLights())e.getModelViewMatrix().pop()}}});for(const e of Reflect.ownKeys(r.prototype))Object.defineProperty(r.prototype,e,{enumerable:!1});return r})),t("x_ite/Components/CubeMapTexturing/GeneratedCubeMapTexture",["x_ite/Fields","x_ite/Base/X3DFieldDefinition","x_ite/Base/FieldDefinitionArray","x_ite/Components/CubeMapTexturing/X3DEnvironmentTextureNode","x_ite/Rendering/DependentRenderer","x_ite/Rendering/TextureBuffer","x_ite/Base/X3DConstants","x_ite/Rendering/TraverseType","standard/Math/Geometry/Camera","standard/Math/Geometry/ViewVolume","standard/Math/Numbers/Rotation4","standard/Math/Numbers/Vector3","standard/Math/Numbers/Vector4","standard/Math/Numbers/Matrix4","standard/Math/Algorithm"],(function(e,t,i,r,n,s,o,a,u,h,d,g,p,x,l){"use strict";function c(e){r.call(this,e),this.addType(o.GeneratedCubeMapTexture),this.renderer=new n(e),this.projectionMatrix=new x,this.modelMatrix=new x,this.viewVolume=new h}return c.prototype=Object.assign(Object.create(r.prototype),{constructor:c,[Symbol.for("X_ITE.X3DBaseNode.fieldDefinitions")]:new i([new t(o.inputOutput,"metadata",new e.SFNode),new t(o.inputOutput,"description",new e.SFString),new t(o.inputOutput,"update",new e.SFString("NONE")),new t(o.initializeOnly,"size",new e.SFInt32(128)),new t(o.initializeOnly,"textureProperties",new e.SFNode)]),getTypeName:function(){return"GeneratedCubeMapTexture"},getComponentName:function(){return"CubeMapTexturing"},getContainerField:function(){return"texture"},initialize:function(){r.prototype.initialize.call(this),this.renderer.setup();let e=l.nextPowerOfTwo(this._size.getValue());if(e>0){e=l.nextPowerOfTwo(e);const t=this.getBrowser().getContext(),i=new Uint8Array(e*e*4);t.bindTexture(this.getTarget(),this.getTexture());for(const r of this.getTargets())t.texImage2D(r,0,t.RGBA,e,e,0,t.RGBA,t.UNSIGNED_BYTE,i);this.viewport=new p(0,0,e,e),this.frameBuffer=new s(this.getBrowser(),e,e)}},traverse:function(e,t){"NONE"!==this._update.getValue()&&this.frameBuffer&&t.isIndependent()&&(t.getGeneratedCubeMapTextures().push(this),this.modelMatrix.assign(t.getModelViewMatrix().get()).multRight(t.getCameraSpaceMatrix().get()))},renderTexture:function(){const e=[new d(g.zAxis,new g(0,0,-1)),new d(g.zAxis,new g(0,0,1)),new d(g.zAxis,new g(1,0,0)),new d(g.zAxis,new g(-1,0,0)),new d(g.zAxis,new g(0,-1,0)),new d(g.zAxis,new g(0,1,0))],t=[new g(-1,-1,1),new g(-1,-1,1),new g(-1,-1,1),new g(-1,-1,1),new g(1,1,1),new g(1,1,1)],i=new x;return function(r){this.renderer.setRenderer(r);const n=this.renderer,s=r.getBrowser(),o=r.getLayer(),h=s.getContext(),d=n.getBackground(),g=n.getNavigationInfo(),p=n.getViewpoint(),x=s.getHeadlight(),c=g._headlight.getValue(),T=g.getNearValue(),_=g.getFarValue(p),f=u.perspective(l.radians(90),T,_,1,1,this.projectionMatrix);this.setTransparent(d.getTransparent()),this.frameBuffer.bind(),n.getViewVolumes().push(this.viewVolume.set(f,this.viewport,this.viewport)),n.getProjectionMatrix().pushMatrix(f),h.bindTexture(this.getTarget(),this.getTexture());for(let r=0;r<6;++r){h.clear(h.COLOR_BUFFER_BIT),n.getCameraSpaceMatrix().pushMatrix(this.modelMatrix),n.getCameraSpaceMatrix().rotate(e[r]),n.getCameraSpaceMatrix().scale(t[r]),n.getViewMatrix().pushMatrix(i.assign(n.getCameraSpaceMatrix().get()).inverse()),n.getModelViewMatrix().pushMatrix(i),c&&(x.getModelViewMatrix().pushMatrix(i),x.getModelViewMatrix().multLeft(p.getCameraSpaceMatrix())),o.traverse(a.DISPLAY,n),c&&x.getModelViewMatrix().pop(),n.getModelViewMatrix().pop(),n.getCameraSpaceMatrix().pop(),n.getViewMatrix().pop();const s=this.frameBuffer.readPixels(),u=this.frameBuffer.getWidth(),d=this.frameBuffer.getHeight();h.bindTexture(this.getTarget(),this.getTexture()),h.texImage2D(this.getTargets()[r],0,h.RGBA,u,d,!1,h.RGBA,h.UNSIGNED_BYTE,s)}this.updateTextureProperties(),n.getProjectionMatrix().pop(),n.getViewVolumes().pop(),this.frameBuffer.unbind(),"NEXT_FRAME_ONLY"===this._update.getValue()&&(this._update="NONE")}}(),setShaderUniformsToChannel:function(){const e=new Float32Array(16);return function(t,i,n,s){r.prototype.setShaderUniformsToChannel.call(this,t,i,n,s),n===this.renderer&&t.uniformMatrix4fv(i.x3d_ModelViewMatrix,!1,e)}}()}),c})),t("x_ite/Components/CubeMapTexturing/ImageCubeMapTexture",["jquery","x_ite/Fields","x_ite/Base/X3DFieldDefinition","x_ite/Base/FieldDefinitionArray","x_ite/Components/CubeMapTexturing/X3DEnvironmentTextureNode","x_ite/Components/Networking/X3DUrlObject","x_ite/Base/X3DConstants","standard/Math/Numbers/Vector2","standard/Math/Algorithm","x_ite/DEBUG"],(function(e,t,i,r,n,s,o,a,u,h){"use strict";const d=new Uint8Array([255,255,255,255]),g=[new a(1,1),new a(3,1),new a(0,1),new a(2,1),new a(1,0),new a(1,2)];function p(e){n.call(this,e),s.call(this,e),this.addType(o.ImageCubeMapTexture),this.urlStack=new t.MFString}return p.prototype=Object.assign(Object.create(n.prototype),s.prototype,{constructor:p,[Symbol.for("X_ITE.X3DBaseNode.fieldDefinitions")]:new r([new i(o.inputOutput,"metadata",new t.SFNode),new i(o.inputOutput,"description",new t.SFString),new i(o.inputOutput,"load",new t.SFBool(!0)),new i(o.inputOutput,"url",new t.MFString),new i(o.inputOutput,"autoRefresh",new t.SFTime),new i(o.inputOutput,"autoRefreshTimeLimit",new t.SFTime(3600)),new i(o.initializeOnly,"textureProperties",new t.SFNode)]),getTypeName:function(){return"ImageCubeMapTexture"},getComponentName:function(){return"CubeMapTexturing"},getContainerField:function(){return"texture"},initialize:function(){n.prototype.initialize.call(this),s.prototype.initialize.call(this);const t=this.getBrowser().getContext();t.bindTexture(this.getTarget(),this.getTexture());for(let e=0;e<6;++e)t.texImage2D(this.getTargets()[e],0,t.RGBA,1,1,0,t.RGBA,t.UNSIGNED_BYTE,d);this.canvas=e("<canvas></canvas>"),this.image=e("<img></img>"),this.image.on("load",this.setImage.bind(this)),this.image.on("error",this.setError.bind(this)),this.image.bind("abort",this.setError.bind(this)),this.image[0].crossOrigin="Anonymous",this.requestImmediateLoad()},unloadNow:function(){this.clearTexture()},loadNow:function(){this.urlStack.setValue(this._url),this.loadNext()},loadNext:function(){if(0===this.urlStack.length)return this.clearTexture(),void this.setLoadState(o.FAILED_STATE);this.URL=new URL(this.urlStack.shift(),this.getExecutionContext().getWorldURL()),"data:"!==this.URL.protocol&&(this.getBrowser().getBrowserOptions().getCache()&&this.getCache()||this.URL.searchParams.set("_",Date.now())),this.image.attr("src",this.URL.href)},setError:function(){"data:"!==this.URL.protocol&&console.warn("Error loading image:",decodeURI(this.URL.href)),this.loadNext()},setImage:function(){h&&"data:"!==this.URL.protocol&&console.info("Done loading image cube map texture:",decodeURI(this.URL.href));try{const e=this.image[0],t=this.canvas[0],i=t.getContext("2d",{willReadFrequently:!0});let r=e.width,n=e.height,s=Math.floor(r/4),a=Math.floor(n/3);u.isPowerOfTwo(s)&&u.isPowerOfTwo(a)&&4*s===r&&3*a===n?(t.width=r,t.height=n,i.drawImage(e,0,0)):(s=u.nextPowerOfTwo(s),a=u.nextPowerOfTwo(a),r=4*s,n=3*a,t.width=r,t.height=n,i.drawImage(e,0,0,e.width,e.height,0,0,r,n));const h=this.getBrowser().getContext();let d=!0;h.bindTexture(this.getTarget(),this.getTexture());for(let e=0;e<6;++e){const t=i.getImageData(g[e].x*s,g[e].y*a,s,a).data;if(d)for(let e=3;e<t.length;e+=4)if(255!==t[e]){d=!1;break}h.texImage2D(this.getTargets()[e],0,h.RGBA,s,a,!1,h.RGBA,h.UNSIGNED_BYTE,new Uint8Array(t.buffer))}this.updateTextureProperties(),this.setTransparent(!d),this.setLoadState(o.COMPLETE_STATE)}catch(e){console.log(e.message),this.setError()}}}),p})),t(i.getComponentUrl("cube-map-texturing"),["x_ite/Components","x_ite/Components/CubeMapTexturing/ComposedCubeMapTexture","x_ite/Components/CubeMapTexturing/GeneratedCubeMapTexture","x_ite/Components/CubeMapTexturing/ImageCubeMapTexture","x_ite/Components/CubeMapTexturing/X3DEnvironmentTextureNode"],(function(e,t,i,r,n){"use strict";e.addComponent({name:"CubeMapTexturing",types:{ComposedCubeMapTexture:t,GeneratedCubeMapTexture:i,ImageCubeMapTexture:r},abstractTypes:{X3DEnvironmentTextureNode:n}})}))}();
|
|
@@ -4,8 +4,9 @@
|
|
|
4
4
|
var module = { }, exports, process;
|
|
5
5
|
|
|
6
6
|
const
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
X3D = window [Symbol .for ("X_ITE.X3D-6.1.0")],
|
|
8
|
+
define = X3D .define,
|
|
9
|
+
require = X3D .require;
|
|
9
10
|
/* -*- Mode: JavaScript; coding: utf-8; tab-width: 3; indent-tabs-mode: tab; c-basic-offset: 3 -*-
|
|
10
11
|
*******************************************************************************
|
|
11
12
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(){const t=window[Symbol.for("X_ITE.X3D-5.0.3")].define,n=window[Symbol.for("X_ITE.X3D-5.0.3")].require;t("x_ite/Components/DIS/DISEntityManager",["x_ite/Fields","x_ite/Base/X3DFieldDefinition","x_ite/Base/FieldDefinitionArray","x_ite/Components/Core/X3DChildNode","x_ite/Base/X3DConstants"],(function(t,n,e,i,u){"use strict";function o(t){i.call(this,t),this.addType(u.DISEntityManager)}return o.prototype=Object.assign(Object.create(i.prototype),{constructor:o,[Symbol.for("X_ITE.X3DBaseNode.fieldDefinitions")]:new e([new n(u.inputOutput,"metadata",new t.SFNode),new n(u.inputOutput,"address",new t.SFString("localhost")),new n(u.inputOutput,"applicationID",new t.SFInt32(1)),new n(u.inputOutput,"mapping",new t.MFNode),new n(u.inputOutput,"port",new t.SFInt32),new n(u.inputOutput,"siteID",new t.SFInt32),new n(u.outputOnly,"addedEntities",new t.MFNode),new n(u.outputOnly,"removedEntities",new t.MFNode)]),getTypeName:function(){return"DISEntityManager"},getComponentName:function(){return"DIS"},getContainerField:function(){return"children"}}),o})),t("x_ite/Components/DIS/DISEntityTypeMapping",["x_ite/Fields","x_ite/Base/X3DFieldDefinition","x_ite/Base/FieldDefinitionArray","x_ite/Components/Core/X3DInfoNode","x_ite/Components/Networking/X3DUrlObject","x_ite/Base/X3DConstants"],(function(t,n,e,i,u,o){"use strict";function p(t){i.call(this,t),u.call(this,t),this.addType(o.DISEntityTypeMapping)}return p.prototype=Object.assign(Object.create(i.prototype),u.prototype,{constructor:p,[Symbol.for("X_ITE.X3DBaseNode.fieldDefinitions")]:new e([new n(o.inputOutput,"metadata",new t.SFNode),new n(o.inputOutput,"load",new t.SFBool(!0)),new n(o.inputOutput,"url",new t.MFString),new n(o.inputOutput,"autoRefresh",new t.SFTime),new n(o.inputOutput,"autoRefreshTimeLimit",new t.SFTime(3600)),new n(o.initializeOnly,"category",new t.SFInt32),new n(o.initializeOnly,"country",new t.SFInt32),new n(o.initializeOnly,"domain",new t.SFInt32),new n(o.initializeOnly,"extra",new t.SFInt32),new n(o.initializeOnly,"kind",new t.SFInt32),new n(o.initializeOnly,"specific",new t.SFInt32),new n(o.initializeOnly,"subcategory",new t.SFInt32)]),getTypeName:function(){return"DISEntityTypeMapping"},getComponentName:function(){return"DIS"},getContainerField:function(){return"mapping"},initialize:function(){i.prototype.initialize.call(this),u.prototype.initialize.call(this)},requestImmediateLoad:function(t=!0){},requestUnload:function(){},set_load__:function(){},set_url__:function(){}}),p})),t("x_ite/Components/DIS/EspduTransform",["x_ite/Fields","x_ite/Base/X3DFieldDefinition","x_ite/Base/FieldDefinitionArray","x_ite/Components/Grouping/X3DGroupingNode","x_ite/Components/Core/X3DSensorNode","x_ite/Base/X3DConstants"],(function(t,n,e,i,u,o){"use strict";function p(t){i.call(this,t),u.call(this,t),this.addType(o.EspduTransform)}return p.prototype=Object.assign(Object.create(i.prototype),u.prototype,{constructor:p,[Symbol.for("X_ITE.X3DBaseNode.fieldDefinitions")]:new e([new n(o.inputOutput,"metadata",new t.SFNode),new n(o.inputOutput,"enabled",new t.SFBool(!0)),new n(o.inputOutput,"visible",new t.SFBool(!0)),new n(o.inputOutput,"bboxDisplay",new t.SFBool),new n(o.initializeOnly,"bboxSize",new t.SFVec3f(-1,-1,-1)),new n(o.initializeOnly,"bboxCenter",new t.SFVec3f),new n(o.inputOnly,"addChildren",new t.MFNode),new n(o.inputOnly,"removeChildren",new t.MFNode),new n(o.inputOutput,"children",new t.MFNode),new n(o.outputOnly,"isActive",new t.SFBool),new n(o.inputOnly,"set_articulationParameterValue0",new t.SFFloat),new n(o.inputOnly,"set_articulationParameterValue1",new t.SFFloat),new n(o.inputOnly,"set_articulationParameterValue2",new t.SFFloat),new n(o.inputOnly,"set_articulationParameterValue3",new t.SFFloat),new n(o.inputOnly,"set_articulationParameterValue4",new t.SFFloat),new n(o.inputOnly,"set_articulationParameterValue5",new t.SFFloat),new n(o.inputOnly,"set_articulationParameterValue6",new t.SFFloat),new n(o.inputOnly,"set_articulationParameterValue7",new t.SFFloat),new n(o.inputOutput,"address",new t.SFString("localhost")),new n(o.inputOutput,"applicationID",new t.SFInt32(1)),new n(o.inputOutput,"articulationParameterCount",new t.SFInt32),new n(o.inputOutput,"articulationParameterDesignatorArray",new t.MFInt32),new n(o.inputOutput,"articulationParameterChangeIndicatorArray",new t.MFInt32),new n(o.inputOutput,"articulationParameterIdPartAttachedToArray",new t.MFInt32),new n(o.inputOutput,"articulationParameterTypeArray",new t.MFInt32),new n(o.inputOutput,"articulationParameterArray",new t.MFFloat),new n(o.inputOutput,"center",new t.SFVec3f),new n(o.inputOutput,"collisionType",new t.SFInt32),new n(o.inputOutput,"deadReckoning",new t.SFInt32),new n(o.inputOutput,"detonationLocation",new t.SFVec3f),new n(o.inputOutput,"detonationRelativeLocation",new t.SFVec3f),new n(o.inputOutput,"detonationResult",new t.SFInt32),new n(o.inputOutput,"entityCategory",new t.SFInt32),new n(o.inputOutput,"entityCountry",new t.SFInt32),new n(o.inputOutput,"entityDomain",new t.SFInt32),new n(o.inputOutput,"entityExtra",new t.SFInt32),new n(o.inputOutput,"entityID",new t.SFInt32),new n(o.inputOutput,"entityKind",new t.SFInt32),new n(o.inputOutput,"entitySpecific",new t.SFInt32),new n(o.inputOutput,"entitySubCategory",new t.SFInt32),new n(o.inputOutput,"eventApplicationID",new t.SFInt32(1)),new n(o.inputOutput,"eventEntityID",new t.SFInt32),new n(o.inputOutput,"eventNumber",new t.SFInt32),new n(o.inputOutput,"eventSiteID",new t.SFInt32),new n(o.inputOutput,"fired1",new t.SFBool),new n(o.inputOutput,"fired2",new t.SFBool),new n(o.inputOutput,"fireMissionIndex",new t.SFInt32),new n(o.inputOutput,"firingRange",new t.SFFloat),new n(o.inputOutput,"firingRate",new t.SFInt32),new n(o.inputOutput,"forceID",new t.SFInt32),new n(o.inputOutput,"fuse",new t.SFInt32),new n(o.inputOutput,"linearVelocity",new t.SFVec3f),new n(o.inputOutput,"linearAcceleration",new t.SFVec3f),new n(o.inputOutput,"marking",new t.SFString),new n(o.inputOutput,"multicastRelayHost",new t.SFString),new n(o.inputOutput,"multicastRelayPort",new t.SFInt32),new n(o.inputOutput,"munitionApplicationID",new t.SFInt32(1)),new n(o.inputOutput,"munitionEndPoint",new t.SFVec3f),new n(o.inputOutput,"munitionEntityID",new t.SFInt32),new n(o.inputOutput,"munitionQuantity",new t.SFInt32),new n(o.inputOutput,"munitionSiteID",new t.SFInt32),new n(o.inputOutput,"munitionStartPoint",new t.SFVec3f),new n(o.inputOutput,"networkMode",new t.SFString("standAlone")),new n(o.inputOutput,"port",new t.SFInt32),new n(o.inputOutput,"readInterval",new t.SFTime(.1)),new n(o.inputOutput,"rotation",new t.SFRotation),new n(o.inputOutput,"scale",new t.SFVec3f(1,1,1)),new n(o.inputOutput,"scaleOrientation",new t.SFRotation),new n(o.inputOutput,"siteID",new t.SFInt32),new n(o.inputOutput,"translation",new t.SFVec3f),new n(o.inputOutput,"warhead",new t.SFInt32),new n(o.inputOutput,"writeInterval",new t.SFTime(1)),new n(o.outputOnly,"articulationParameterValue0_changed",new t.SFFloat),new n(o.outputOnly,"articulationParameterValue1_changed",new t.SFFloat),new n(o.outputOnly,"articulationParameterValue2_changed",new t.SFFloat),new n(o.outputOnly,"articulationParameterValue3_changed",new t.SFFloat),new n(o.outputOnly,"articulationParameterValue4_changed",new t.SFFloat),new n(o.outputOnly,"articulationParameterValue5_changed",new t.SFFloat),new n(o.outputOnly,"articulationParameterValue6_changed",new t.SFFloat),new n(o.outputOnly,"articulationParameterValue7_changed",new t.SFFloat),new n(o.outputOnly,"collideTime",new t.SFTime),new n(o.outputOnly,"detonateTime",new t.SFTime),new n(o.outputOnly,"firedTime",new t.SFTime),new n(o.outputOnly,"isCollided",new t.SFBool),new n(o.outputOnly,"isDetonated",new t.SFBool),new n(o.outputOnly,"isNetworkReader",new t.SFBool),new n(o.outputOnly,"isNetworkWriter",new t.SFBool),new n(o.outputOnly,"isRtpHeaderHeard",new t.SFBool),new n(o.outputOnly,"isStandAlone",new t.SFBool),new n(o.outputOnly,"timestamp",new t.SFTime),new n(o.initializeOnly,"rtpHeaderExpected",new t.SFBool)]),getTypeName:function(){return"EspduTransform"},getComponentName:function(){return"DIS"},getContainerField:function(){return"children"},initialize:function(){i.prototype.initialize.call(this),u.prototype.initialize.call(this)}}),p})),t("x_ite/Components/DIS/ReceiverPdu",["x_ite/Fields","x_ite/Base/X3DFieldDefinition","x_ite/Base/FieldDefinitionArray","x_ite/Components/Core/X3DSensorNode","x_ite/Components/Grouping/X3DBoundedObject","x_ite/Base/X3DConstants"],(function(t,n,e,i,u,o){"use strict";function p(t){i.call(this,t),u.call(this,t),this.addType(o.ReceiverPdu)}return p.prototype=Object.assign(Object.create(i.prototype),u.prototype,{constructor:p,[Symbol.for("X_ITE.X3DBaseNode.fieldDefinitions")]:new e([new n(o.inputOutput,"metadata",new t.SFNode),new n(o.inputOutput,"visible",new t.SFBool(!0)),new n(o.inputOutput,"bboxDisplay",new t.SFBool),new n(o.initializeOnly,"bboxSize",new t.SFVec3f(-1,-1,-1)),new n(o.initializeOnly,"bboxCenter",new t.SFVec3f),new n(o.inputOutput,"enabled",new t.SFBool(!0)),new n(o.outputOnly,"isActive",new t.SFBool),new n(o.inputOutput,"address",new t.SFString("localhost")),new n(o.inputOutput,"applicationID",new t.SFInt32(1)),new n(o.inputOutput,"entityID",new t.SFInt32),new n(o.inputOutput,"multicastRelayHost",new t.SFString),new n(o.inputOutput,"multicastRelayPort",new t.SFInt32),new n(o.inputOutput,"networkMode",new t.SFString("standAlone")),new n(o.inputOutput,"port",new t.SFInt32),new n(o.inputOutput,"radioID",new t.SFInt32),new n(o.inputOutput,"readInterval",new t.SFFloat(.1)),new n(o.inputOutput,"receivedPower",new t.SFFloat),new n(o.inputOutput,"receiverState",new t.SFInt32),new n(o.inputOutput,"rtpHeaderExpected",new t.SFBool),new n(o.inputOutput,"siteID",new t.SFInt32),new n(o.inputOutput,"transmitterApplicationID",new t.SFInt32(1)),new n(o.inputOutput,"transmitterEntityID",new t.SFInt32),new n(o.inputOutput,"transmitterRadioID",new t.SFInt32),new n(o.inputOutput,"transmitterSiteID",new t.SFInt32),new n(o.inputOutput,"whichGeometry",new t.SFInt32(1)),new n(o.inputOutput,"writeInterval",new t.SFFloat(1)),new n(o.outputOnly,"isNetworkReader",new t.SFBool),new n(o.outputOnly,"isNetworkWriter",new t.SFBool),new n(o.outputOnly,"isRtpHeaderHeard",new t.SFBool),new n(o.outputOnly,"isStandAlone",new t.SFBool),new n(o.outputOnly,"timestamp",new t.SFTime)]),getTypeName:function(){return"ReceiverPdu"},getComponentName:function(){return"DIS"},getContainerField:function(){return"children"},initialize:function(){i.prototype.initialize.call(this),u.prototype.initialize.call(this)}}),p})),t("x_ite/Components/DIS/SignalPdu",["x_ite/Fields","x_ite/Base/X3DFieldDefinition","x_ite/Base/FieldDefinitionArray","x_ite/Components/Core/X3DSensorNode","x_ite/Components/Grouping/X3DBoundedObject","x_ite/Base/X3DConstants"],(function(t,n,e,i,u,o){"use strict";function p(t){i.call(this,t),u.call(this,t),this.addType(o.SignalPdu)}return p.prototype=Object.assign(Object.create(i.prototype),u.prototype,{constructor:p,[Symbol.for("X_ITE.X3DBaseNode.fieldDefinitions")]:new e([new n(o.inputOutput,"metadata",new t.SFNode),new n(o.inputOutput,"visible",new t.SFBool(!0)),new n(o.inputOutput,"bboxDisplay",new t.SFBool),new n(o.initializeOnly,"bboxSize",new t.SFVec3f(-1,-1,-1)),new n(o.initializeOnly,"bboxCenter",new t.SFVec3f),new n(o.inputOutput,"enabled",new t.SFBool(!0)),new n(o.outputOnly,"isActive",new t.SFBool),new n(o.inputOutput,"address",new t.SFString("localhost")),new n(o.inputOutput,"applicationID",new t.SFInt32(1)),new n(o.inputOutput,"data",new t.MFInt32),new n(o.inputOutput,"dataLength",new t.SFInt32),new n(o.inputOutput,"encodingScheme",new t.SFInt32),new n(o.inputOutput,"entityID",new t.SFInt32),new n(o.inputOutput,"multicastRelayHost",new t.SFString),new n(o.inputOutput,"multicastRelayPort",new t.SFInt32),new n(o.inputOutput,"networkMode",new t.SFString("standAlone")),new n(o.inputOutput,"port",new t.SFInt32),new n(o.inputOutput,"radioID",new t.SFInt32),new n(o.inputOutput,"readInterval",new t.SFFloat(.1)),new n(o.inputOutput,"rtpHeaderExpected",new t.SFBool),new n(o.inputOutput,"sampleRate",new t.SFInt32),new n(o.inputOutput,"samples",new t.SFInt32),new n(o.inputOutput,"siteID",new t.SFInt32),new n(o.inputOutput,"tdlType",new t.SFInt32),new n(o.inputOutput,"whichGeometry",new t.SFInt32(1)),new n(o.inputOutput,"writeInterval",new t.SFFloat(1)),new n(o.outputOnly,"isNetworkReader",new t.SFBool),new n(o.outputOnly,"isNetworkWriter",new t.SFBool),new n(o.outputOnly,"isRtpHeaderHeard",new t.SFBool),new n(o.outputOnly,"isStandAlone",new t.SFBool),new n(o.outputOnly,"timestamp",new t.SFTime)]),getTypeName:function(){return"SignalPdu"},getComponentName:function(){return"DIS"},getContainerField:function(){return"children"},initialize:function(){i.prototype.initialize.call(this),u.prototype.initialize.call(this)}}),p})),t("x_ite/Components/DIS/TransmitterPdu",["x_ite/Fields","x_ite/Base/X3DFieldDefinition","x_ite/Base/FieldDefinitionArray","x_ite/Components/Core/X3DSensorNode","x_ite/Components/Grouping/X3DBoundedObject","x_ite/Base/X3DConstants"],(function(t,n,e,i,u,o){"use strict";function p(t){i.call(this,t),u.call(this,t),this.addType(o.TransmitterPdu)}return p.prototype=Object.assign(Object.create(i.prototype),u.prototype,{constructor:p,[Symbol.for("X_ITE.X3DBaseNode.fieldDefinitions")]:new e([new n(o.inputOutput,"metadata",new t.SFNode),new n(o.inputOutput,"visible",new t.SFBool(!0)),new n(o.inputOutput,"bboxDisplay",new t.SFBool),new n(o.initializeOnly,"bboxSize",new t.SFVec3f(-1,-1,-1)),new n(o.initializeOnly,"bboxCenter",new t.SFVec3f),new n(o.inputOutput,"enabled",new t.SFBool(!0)),new n(o.outputOnly,"isActive",new t.SFBool),new n(o.inputOutput,"address",new t.SFString("localhost")),new n(o.inputOutput,"antennaLocation",new t.SFVec3f),new n(o.inputOutput,"antennaPatternLength",new t.SFInt32),new n(o.inputOutput,"antennaPatternType",new t.SFInt32),new n(o.inputOutput,"applicationID",new t.SFInt32(1)),new n(o.inputOutput,"cryptoKeyID",new t.SFInt32),new n(o.inputOutput,"cryptoSystem",new t.SFInt32),new n(o.inputOutput,"entityID",new t.SFInt32),new n(o.inputOutput,"frequency",new t.SFInt32),new n(o.inputOutput,"inputSource",new t.SFInt32),new n(o.inputOutput,"lengthOfModulationParameters",new t.SFInt32),new n(o.inputOutput,"modulationTypeDetail",new t.SFInt32),new n(o.inputOutput,"modulationTypeMajor",new t.SFInt32),new n(o.inputOutput,"modulationTypeSpreadSpectrum",new t.SFInt32),new n(o.inputOutput,"modulationTypeSystem",new t.SFInt32),new n(o.inputOutput,"multicastRelayHost",new t.SFString),new n(o.inputOutput,"multicastRelayPort",new t.SFInt32),new n(o.inputOutput,"networkMode",new t.SFString("standAlone")),new n(o.inputOutput,"port",new t.SFInt32),new n(o.inputOutput,"power",new t.SFFloat),new n(o.inputOutput,"radioEntityTypeCategory",new t.SFInt32),new n(o.inputOutput,"radioEntityTypeCountry",new t.SFInt32),new n(o.inputOutput,"radioEntityTypeDomain",new t.SFInt32),new n(o.inputOutput,"radioEntityTypeKind",new t.SFInt32),new n(o.inputOutput,"radioEntityTypeNomenclature",new t.SFInt32),new n(o.inputOutput,"radioEntityTypeNomenclatureVersion",new t.SFInt32),new n(o.inputOutput,"radioID",new t.SFInt32),new n(o.inputOutput,"readInterval",new t.SFFloat(.1)),new n(o.inputOutput,"relativeAntennaLocation",new t.SFVec3f),new n(o.inputOutput,"rtpHeaderExpected",new t.SFBool),new n(o.inputOutput,"siteID",new t.SFInt32),new n(o.inputOutput,"transmitFrequencyBandwidth",new t.SFFloat),new n(o.inputOutput,"transmitState",new t.SFInt32),new n(o.inputOutput,"whichGeometry",new t.SFInt32(1)),new n(o.inputOutput,"writeInterval",new t.SFFloat(1)),new n(o.outputOnly,"isNetworkReader",new t.SFBool),new n(o.outputOnly,"isNetworkWriter",new t.SFBool),new n(o.outputOnly,"isRtpHeaderHeard",new t.SFBool),new n(o.outputOnly,"isStandAlone",new t.SFBool),new n(o.outputOnly,"timestamp",new t.SFTime)]),getTypeName:function(){return"TransmitterPdu"},getComponentName:function(){return"DIS"},getContainerField:function(){return"children"},initialize:function(){i.prototype.initialize.call(this),u.prototype.initialize.call(this)}}),p})),t(n.getComponentUrl("dis"),["x_ite/Components","x_ite/Components/DIS/DISEntityManager","x_ite/Components/DIS/DISEntityTypeMapping","x_ite/Components/DIS/EspduTransform","x_ite/Components/DIS/ReceiverPdu","x_ite/Components/DIS/SignalPdu","x_ite/Components/DIS/TransmitterPdu"],(function(t,n,e,i,u,o,p){"use strict";t.addComponent({name:"DIS",types:{DISEntityManager:n,DISEntityTypeMapping:e,EspduTransform:i,ReceiverPdu:u,SignalPdu:o,TransmitterPdu:p},abstractTypes:{}})}))}();
|
|
1
|
+
!function(){const t=window[Symbol.for("X_ITE.X3D-6.1.0")],n=t.define,e=t.require;n("x_ite/Components/DIS/DISEntityManager",["x_ite/Fields","x_ite/Base/X3DFieldDefinition","x_ite/Base/FieldDefinitionArray","x_ite/Components/Core/X3DChildNode","x_ite/Base/X3DConstants"],(function(t,n,e,i,u){"use strict";function o(t){i.call(this,t),this.addType(u.DISEntityManager)}return o.prototype=Object.assign(Object.create(i.prototype),{constructor:o,[Symbol.for("X_ITE.X3DBaseNode.fieldDefinitions")]:new e([new n(u.inputOutput,"metadata",new t.SFNode),new n(u.inputOutput,"address",new t.SFString("localhost")),new n(u.inputOutput,"applicationID",new t.SFInt32(1)),new n(u.inputOutput,"mapping",new t.MFNode),new n(u.inputOutput,"port",new t.SFInt32),new n(u.inputOutput,"siteID",new t.SFInt32),new n(u.outputOnly,"addedEntities",new t.MFNode),new n(u.outputOnly,"removedEntities",new t.MFNode)]),getTypeName:function(){return"DISEntityManager"},getComponentName:function(){return"DIS"},getContainerField:function(){return"children"}}),o})),n("x_ite/Components/DIS/DISEntityTypeMapping",["x_ite/Fields","x_ite/Base/X3DFieldDefinition","x_ite/Base/FieldDefinitionArray","x_ite/Components/Core/X3DInfoNode","x_ite/Components/Networking/X3DUrlObject","x_ite/Base/X3DConstants"],(function(t,n,e,i,u,o){"use strict";function p(t){i.call(this,t),u.call(this,t),this.addType(o.DISEntityTypeMapping)}return p.prototype=Object.assign(Object.create(i.prototype),u.prototype,{constructor:p,[Symbol.for("X_ITE.X3DBaseNode.fieldDefinitions")]:new e([new n(o.inputOutput,"metadata",new t.SFNode),new n(o.inputOutput,"load",new t.SFBool(!0)),new n(o.inputOutput,"url",new t.MFString),new n(o.inputOutput,"autoRefresh",new t.SFTime),new n(o.inputOutput,"autoRefreshTimeLimit",new t.SFTime(3600)),new n(o.initializeOnly,"category",new t.SFInt32),new n(o.initializeOnly,"country",new t.SFInt32),new n(o.initializeOnly,"domain",new t.SFInt32),new n(o.initializeOnly,"extra",new t.SFInt32),new n(o.initializeOnly,"kind",new t.SFInt32),new n(o.initializeOnly,"specific",new t.SFInt32),new n(o.initializeOnly,"subcategory",new t.SFInt32)]),getTypeName:function(){return"DISEntityTypeMapping"},getComponentName:function(){return"DIS"},getContainerField:function(){return"mapping"},initialize:function(){i.prototype.initialize.call(this),u.prototype.initialize.call(this)},requestImmediateLoad:function(t=!0){},requestUnload:function(){},set_load__:function(){},set_url__:function(){}}),p})),n("x_ite/Components/DIS/EspduTransform",["x_ite/Fields","x_ite/Base/X3DFieldDefinition","x_ite/Base/FieldDefinitionArray","x_ite/Components/Grouping/X3DGroupingNode","x_ite/Components/Core/X3DSensorNode","x_ite/Base/X3DConstants"],(function(t,n,e,i,u,o){"use strict";function p(t){i.call(this,t),u.call(this,t),this.addType(o.EspduTransform)}return p.prototype=Object.assign(Object.create(i.prototype),u.prototype,{constructor:p,[Symbol.for("X_ITE.X3DBaseNode.fieldDefinitions")]:new e([new n(o.inputOutput,"metadata",new t.SFNode),new n(o.inputOutput,"enabled",new t.SFBool(!0)),new n(o.inputOutput,"visible",new t.SFBool(!0)),new n(o.inputOutput,"bboxDisplay",new t.SFBool),new n(o.initializeOnly,"bboxSize",new t.SFVec3f(-1,-1,-1)),new n(o.initializeOnly,"bboxCenter",new t.SFVec3f),new n(o.inputOnly,"addChildren",new t.MFNode),new n(o.inputOnly,"removeChildren",new t.MFNode),new n(o.inputOutput,"children",new t.MFNode),new n(o.outputOnly,"isActive",new t.SFBool),new n(o.inputOnly,"set_articulationParameterValue0",new t.SFFloat),new n(o.inputOnly,"set_articulationParameterValue1",new t.SFFloat),new n(o.inputOnly,"set_articulationParameterValue2",new t.SFFloat),new n(o.inputOnly,"set_articulationParameterValue3",new t.SFFloat),new n(o.inputOnly,"set_articulationParameterValue4",new t.SFFloat),new n(o.inputOnly,"set_articulationParameterValue5",new t.SFFloat),new n(o.inputOnly,"set_articulationParameterValue6",new t.SFFloat),new n(o.inputOnly,"set_articulationParameterValue7",new t.SFFloat),new n(o.inputOutput,"address",new t.SFString("localhost")),new n(o.inputOutput,"applicationID",new t.SFInt32(1)),new n(o.inputOutput,"articulationParameterCount",new t.SFInt32),new n(o.inputOutput,"articulationParameterDesignatorArray",new t.MFInt32),new n(o.inputOutput,"articulationParameterChangeIndicatorArray",new t.MFInt32),new n(o.inputOutput,"articulationParameterIdPartAttachedToArray",new t.MFInt32),new n(o.inputOutput,"articulationParameterTypeArray",new t.MFInt32),new n(o.inputOutput,"articulationParameterArray",new t.MFFloat),new n(o.inputOutput,"center",new t.SFVec3f),new n(o.inputOutput,"collisionType",new t.SFInt32),new n(o.inputOutput,"deadReckoning",new t.SFInt32),new n(o.inputOutput,"detonationLocation",new t.SFVec3f),new n(o.inputOutput,"detonationRelativeLocation",new t.SFVec3f),new n(o.inputOutput,"detonationResult",new t.SFInt32),new n(o.inputOutput,"entityCategory",new t.SFInt32),new n(o.inputOutput,"entityCountry",new t.SFInt32),new n(o.inputOutput,"entityDomain",new t.SFInt32),new n(o.inputOutput,"entityExtra",new t.SFInt32),new n(o.inputOutput,"entityID",new t.SFInt32),new n(o.inputOutput,"entityKind",new t.SFInt32),new n(o.inputOutput,"entitySpecific",new t.SFInt32),new n(o.inputOutput,"entitySubCategory",new t.SFInt32),new n(o.inputOutput,"eventApplicationID",new t.SFInt32(1)),new n(o.inputOutput,"eventEntityID",new t.SFInt32),new n(o.inputOutput,"eventNumber",new t.SFInt32),new n(o.inputOutput,"eventSiteID",new t.SFInt32),new n(o.inputOutput,"fired1",new t.SFBool),new n(o.inputOutput,"fired2",new t.SFBool),new n(o.inputOutput,"fireMissionIndex",new t.SFInt32),new n(o.inputOutput,"firingRange",new t.SFFloat),new n(o.inputOutput,"firingRate",new t.SFInt32),new n(o.inputOutput,"forceID",new t.SFInt32),new n(o.inputOutput,"fuse",new t.SFInt32),new n(o.inputOutput,"linearVelocity",new t.SFVec3f),new n(o.inputOutput,"linearAcceleration",new t.SFVec3f),new n(o.inputOutput,"marking",new t.SFString),new n(o.inputOutput,"multicastRelayHost",new t.SFString),new n(o.inputOutput,"multicastRelayPort",new t.SFInt32),new n(o.inputOutput,"munitionApplicationID",new t.SFInt32(1)),new n(o.inputOutput,"munitionEndPoint",new t.SFVec3f),new n(o.inputOutput,"munitionEntityID",new t.SFInt32),new n(o.inputOutput,"munitionQuantity",new t.SFInt32),new n(o.inputOutput,"munitionSiteID",new t.SFInt32),new n(o.inputOutput,"munitionStartPoint",new t.SFVec3f),new n(o.inputOutput,"networkMode",new t.SFString("standAlone")),new n(o.inputOutput,"port",new t.SFInt32),new n(o.inputOutput,"readInterval",new t.SFTime(.1)),new n(o.inputOutput,"rotation",new t.SFRotation),new n(o.inputOutput,"scale",new t.SFVec3f(1,1,1)),new n(o.inputOutput,"scaleOrientation",new t.SFRotation),new n(o.inputOutput,"siteID",new t.SFInt32),new n(o.inputOutput,"translation",new t.SFVec3f),new n(o.inputOutput,"warhead",new t.SFInt32),new n(o.inputOutput,"writeInterval",new t.SFTime(1)),new n(o.outputOnly,"articulationParameterValue0_changed",new t.SFFloat),new n(o.outputOnly,"articulationParameterValue1_changed",new t.SFFloat),new n(o.outputOnly,"articulationParameterValue2_changed",new t.SFFloat),new n(o.outputOnly,"articulationParameterValue3_changed",new t.SFFloat),new n(o.outputOnly,"articulationParameterValue4_changed",new t.SFFloat),new n(o.outputOnly,"articulationParameterValue5_changed",new t.SFFloat),new n(o.outputOnly,"articulationParameterValue6_changed",new t.SFFloat),new n(o.outputOnly,"articulationParameterValue7_changed",new t.SFFloat),new n(o.outputOnly,"collideTime",new t.SFTime),new n(o.outputOnly,"detonateTime",new t.SFTime),new n(o.outputOnly,"firedTime",new t.SFTime),new n(o.outputOnly,"isCollided",new t.SFBool),new n(o.outputOnly,"isDetonated",new t.SFBool),new n(o.outputOnly,"isNetworkReader",new t.SFBool),new n(o.outputOnly,"isNetworkWriter",new t.SFBool),new n(o.outputOnly,"isRtpHeaderHeard",new t.SFBool),new n(o.outputOnly,"isStandAlone",new t.SFBool),new n(o.outputOnly,"timestamp",new t.SFTime),new n(o.initializeOnly,"rtpHeaderExpected",new t.SFBool)]),getTypeName:function(){return"EspduTransform"},getComponentName:function(){return"DIS"},getContainerField:function(){return"children"},initialize:function(){i.prototype.initialize.call(this),u.prototype.initialize.call(this)}}),p})),n("x_ite/Components/DIS/ReceiverPdu",["x_ite/Fields","x_ite/Base/X3DFieldDefinition","x_ite/Base/FieldDefinitionArray","x_ite/Components/Core/X3DSensorNode","x_ite/Components/Grouping/X3DBoundedObject","x_ite/Base/X3DConstants"],(function(t,n,e,i,u,o){"use strict";function p(t){i.call(this,t),u.call(this,t),this.addType(o.ReceiverPdu)}return p.prototype=Object.assign(Object.create(i.prototype),u.prototype,{constructor:p,[Symbol.for("X_ITE.X3DBaseNode.fieldDefinitions")]:new e([new n(o.inputOutput,"metadata",new t.SFNode),new n(o.inputOutput,"visible",new t.SFBool(!0)),new n(o.inputOutput,"bboxDisplay",new t.SFBool),new n(o.initializeOnly,"bboxSize",new t.SFVec3f(-1,-1,-1)),new n(o.initializeOnly,"bboxCenter",new t.SFVec3f),new n(o.inputOutput,"enabled",new t.SFBool(!0)),new n(o.outputOnly,"isActive",new t.SFBool),new n(o.inputOutput,"address",new t.SFString("localhost")),new n(o.inputOutput,"applicationID",new t.SFInt32(1)),new n(o.inputOutput,"entityID",new t.SFInt32),new n(o.inputOutput,"multicastRelayHost",new t.SFString),new n(o.inputOutput,"multicastRelayPort",new t.SFInt32),new n(o.inputOutput,"networkMode",new t.SFString("standAlone")),new n(o.inputOutput,"port",new t.SFInt32),new n(o.inputOutput,"radioID",new t.SFInt32),new n(o.inputOutput,"readInterval",new t.SFFloat(.1)),new n(o.inputOutput,"receivedPower",new t.SFFloat),new n(o.inputOutput,"receiverState",new t.SFInt32),new n(o.inputOutput,"rtpHeaderExpected",new t.SFBool),new n(o.inputOutput,"siteID",new t.SFInt32),new n(o.inputOutput,"transmitterApplicationID",new t.SFInt32(1)),new n(o.inputOutput,"transmitterEntityID",new t.SFInt32),new n(o.inputOutput,"transmitterRadioID",new t.SFInt32),new n(o.inputOutput,"transmitterSiteID",new t.SFInt32),new n(o.inputOutput,"whichGeometry",new t.SFInt32(1)),new n(o.inputOutput,"writeInterval",new t.SFFloat(1)),new n(o.outputOnly,"isNetworkReader",new t.SFBool),new n(o.outputOnly,"isNetworkWriter",new t.SFBool),new n(o.outputOnly,"isRtpHeaderHeard",new t.SFBool),new n(o.outputOnly,"isStandAlone",new t.SFBool),new n(o.outputOnly,"timestamp",new t.SFTime)]),getTypeName:function(){return"ReceiverPdu"},getComponentName:function(){return"DIS"},getContainerField:function(){return"children"},initialize:function(){i.prototype.initialize.call(this),u.prototype.initialize.call(this)}}),p})),n("x_ite/Components/DIS/SignalPdu",["x_ite/Fields","x_ite/Base/X3DFieldDefinition","x_ite/Base/FieldDefinitionArray","x_ite/Components/Core/X3DSensorNode","x_ite/Components/Grouping/X3DBoundedObject","x_ite/Base/X3DConstants"],(function(t,n,e,i,u,o){"use strict";function p(t){i.call(this,t),u.call(this,t),this.addType(o.SignalPdu)}return p.prototype=Object.assign(Object.create(i.prototype),u.prototype,{constructor:p,[Symbol.for("X_ITE.X3DBaseNode.fieldDefinitions")]:new e([new n(o.inputOutput,"metadata",new t.SFNode),new n(o.inputOutput,"visible",new t.SFBool(!0)),new n(o.inputOutput,"bboxDisplay",new t.SFBool),new n(o.initializeOnly,"bboxSize",new t.SFVec3f(-1,-1,-1)),new n(o.initializeOnly,"bboxCenter",new t.SFVec3f),new n(o.inputOutput,"enabled",new t.SFBool(!0)),new n(o.outputOnly,"isActive",new t.SFBool),new n(o.inputOutput,"address",new t.SFString("localhost")),new n(o.inputOutput,"applicationID",new t.SFInt32(1)),new n(o.inputOutput,"data",new t.MFInt32),new n(o.inputOutput,"dataLength",new t.SFInt32),new n(o.inputOutput,"encodingScheme",new t.SFInt32),new n(o.inputOutput,"entityID",new t.SFInt32),new n(o.inputOutput,"multicastRelayHost",new t.SFString),new n(o.inputOutput,"multicastRelayPort",new t.SFInt32),new n(o.inputOutput,"networkMode",new t.SFString("standAlone")),new n(o.inputOutput,"port",new t.SFInt32),new n(o.inputOutput,"radioID",new t.SFInt32),new n(o.inputOutput,"readInterval",new t.SFFloat(.1)),new n(o.inputOutput,"rtpHeaderExpected",new t.SFBool),new n(o.inputOutput,"sampleRate",new t.SFInt32),new n(o.inputOutput,"samples",new t.SFInt32),new n(o.inputOutput,"siteID",new t.SFInt32),new n(o.inputOutput,"tdlType",new t.SFInt32),new n(o.inputOutput,"whichGeometry",new t.SFInt32(1)),new n(o.inputOutput,"writeInterval",new t.SFFloat(1)),new n(o.outputOnly,"isNetworkReader",new t.SFBool),new n(o.outputOnly,"isNetworkWriter",new t.SFBool),new n(o.outputOnly,"isRtpHeaderHeard",new t.SFBool),new n(o.outputOnly,"isStandAlone",new t.SFBool),new n(o.outputOnly,"timestamp",new t.SFTime)]),getTypeName:function(){return"SignalPdu"},getComponentName:function(){return"DIS"},getContainerField:function(){return"children"},initialize:function(){i.prototype.initialize.call(this),u.prototype.initialize.call(this)}}),p})),n("x_ite/Components/DIS/TransmitterPdu",["x_ite/Fields","x_ite/Base/X3DFieldDefinition","x_ite/Base/FieldDefinitionArray","x_ite/Components/Core/X3DSensorNode","x_ite/Components/Grouping/X3DBoundedObject","x_ite/Base/X3DConstants"],(function(t,n,e,i,u,o){"use strict";function p(t){i.call(this,t),u.call(this,t),this.addType(o.TransmitterPdu)}return p.prototype=Object.assign(Object.create(i.prototype),u.prototype,{constructor:p,[Symbol.for("X_ITE.X3DBaseNode.fieldDefinitions")]:new e([new n(o.inputOutput,"metadata",new t.SFNode),new n(o.inputOutput,"visible",new t.SFBool(!0)),new n(o.inputOutput,"bboxDisplay",new t.SFBool),new n(o.initializeOnly,"bboxSize",new t.SFVec3f(-1,-1,-1)),new n(o.initializeOnly,"bboxCenter",new t.SFVec3f),new n(o.inputOutput,"enabled",new t.SFBool(!0)),new n(o.outputOnly,"isActive",new t.SFBool),new n(o.inputOutput,"address",new t.SFString("localhost")),new n(o.inputOutput,"antennaLocation",new t.SFVec3f),new n(o.inputOutput,"antennaPatternLength",new t.SFInt32),new n(o.inputOutput,"antennaPatternType",new t.SFInt32),new n(o.inputOutput,"applicationID",new t.SFInt32(1)),new n(o.inputOutput,"cryptoKeyID",new t.SFInt32),new n(o.inputOutput,"cryptoSystem",new t.SFInt32),new n(o.inputOutput,"entityID",new t.SFInt32),new n(o.inputOutput,"frequency",new t.SFInt32),new n(o.inputOutput,"inputSource",new t.SFInt32),new n(o.inputOutput,"lengthOfModulationParameters",new t.SFInt32),new n(o.inputOutput,"modulationTypeDetail",new t.SFInt32),new n(o.inputOutput,"modulationTypeMajor",new t.SFInt32),new n(o.inputOutput,"modulationTypeSpreadSpectrum",new t.SFInt32),new n(o.inputOutput,"modulationTypeSystem",new t.SFInt32),new n(o.inputOutput,"multicastRelayHost",new t.SFString),new n(o.inputOutput,"multicastRelayPort",new t.SFInt32),new n(o.inputOutput,"networkMode",new t.SFString("standAlone")),new n(o.inputOutput,"port",new t.SFInt32),new n(o.inputOutput,"power",new t.SFFloat),new n(o.inputOutput,"radioEntityTypeCategory",new t.SFInt32),new n(o.inputOutput,"radioEntityTypeCountry",new t.SFInt32),new n(o.inputOutput,"radioEntityTypeDomain",new t.SFInt32),new n(o.inputOutput,"radioEntityTypeKind",new t.SFInt32),new n(o.inputOutput,"radioEntityTypeNomenclature",new t.SFInt32),new n(o.inputOutput,"radioEntityTypeNomenclatureVersion",new t.SFInt32),new n(o.inputOutput,"radioID",new t.SFInt32),new n(o.inputOutput,"readInterval",new t.SFFloat(.1)),new n(o.inputOutput,"relativeAntennaLocation",new t.SFVec3f),new n(o.inputOutput,"rtpHeaderExpected",new t.SFBool),new n(o.inputOutput,"siteID",new t.SFInt32),new n(o.inputOutput,"transmitFrequencyBandwidth",new t.SFFloat),new n(o.inputOutput,"transmitState",new t.SFInt32),new n(o.inputOutput,"whichGeometry",new t.SFInt32(1)),new n(o.inputOutput,"writeInterval",new t.SFFloat(1)),new n(o.outputOnly,"isNetworkReader",new t.SFBool),new n(o.outputOnly,"isNetworkWriter",new t.SFBool),new n(o.outputOnly,"isRtpHeaderHeard",new t.SFBool),new n(o.outputOnly,"isStandAlone",new t.SFBool),new n(o.outputOnly,"timestamp",new t.SFTime)]),getTypeName:function(){return"TransmitterPdu"},getComponentName:function(){return"DIS"},getContainerField:function(){return"children"},initialize:function(){i.prototype.initialize.call(this),u.prototype.initialize.call(this)}}),p})),n(e.getComponentUrl("dis"),["x_ite/Components","x_ite/Components/DIS/DISEntityManager","x_ite/Components/DIS/DISEntityTypeMapping","x_ite/Components/DIS/EspduTransform","x_ite/Components/DIS/ReceiverPdu","x_ite/Components/DIS/SignalPdu","x_ite/Components/DIS/TransmitterPdu"],(function(t,n,e,i,u,o,p){"use strict";t.addComponent({name:"DIS",types:{DISEntityManager:n,DISEntityTypeMapping:e,EspduTransform:i,ReceiverPdu:u,SignalPdu:o,TransmitterPdu:p},abstractTypes:{}})}))}();
|
|
@@ -4,8 +4,9 @@
|
|
|
4
4
|
var module = { }, exports, process;
|
|
5
5
|
|
|
6
6
|
const
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
X3D = window [Symbol .for ("X_ITE.X3D-6.1.0")],
|
|
8
|
+
define = X3D .define,
|
|
9
|
+
require = X3D .require;
|
|
9
10
|
/* -*- Mode: JavaScript; coding: utf-8; tab-width: 3; indent-tabs-mode: tab; c-basic-offset: 3 -*-
|
|
10
11
|
*******************************************************************************
|
|
11
12
|
*
|
|
@@ -223,7 +224,7 @@ function (X3DChildNode,
|
|
|
223
224
|
|
|
224
225
|
else
|
|
225
226
|
{
|
|
226
|
-
const index = Algorithm .upperBound (key, 0, length, fraction
|
|
227
|
+
const index = Algorithm .upperBound (key, 0, length, fraction);
|
|
227
228
|
|
|
228
229
|
i = index - 1;
|
|
229
230
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(){const e=window[Symbol.for("X_ITE.X3D-
|
|
1
|
+
!function(){const e=window[Symbol.for("X_ITE.X3D-6.1.0")],t=e.define,i=e.require;t("x_ite/Components/EventUtilities/BooleanFilter",["x_ite/Fields","x_ite/Base/X3DFieldDefinition","x_ite/Base/FieldDefinitionArray","x_ite/Components/Core/X3DChildNode","x_ite/Base/X3DConstants"],(function(e,t,i,n,o){"use strict";function s(e){n.call(this,e),this.addType(o.BooleanFilter)}return s.prototype=Object.assign(Object.create(n.prototype),{constructor:s,[Symbol.for("X_ITE.X3DBaseNode.fieldDefinitions")]:new i([new t(o.inputOutput,"metadata",new e.SFNode),new t(o.inputOnly,"set_boolean",new e.SFBool),new t(o.outputOnly,"inputTrue",new e.SFBool),new t(o.outputOnly,"inputFalse",new e.SFBool),new t(o.outputOnly,"inputNegate",new e.SFBool)]),getTypeName:function(){return"BooleanFilter"},getComponentName:function(){return"EventUtilities"},getContainerField:function(){return"children"},initialize:function(){n.prototype.initialize.call(this),this._set_boolean.addInterest("set_boolean__",this)},set_boolean__:function(){const e=this._set_boolean.getValue();e?this._inputTrue=!0:this._inputFalse=!1,this._inputNegate=!e}}),s})),t("x_ite/Components/EventUtilities/X3DSequencerNode",["x_ite/Components/Core/X3DChildNode","x_ite/Base/X3DConstants","standard/Math/Algorithm"],(function(e,t,i){"use strict";function n(i){e.call(this,i),this.addType(t.X3DSequencerNode),this.index=-1}return n.prototype=Object.assign(Object.create(e.prototype),{constructor:n,initialize:function(){e.prototype.initialize.call(this),this._set_fraction.addInterest("set_fraction__",this),this._previous.addInterest("set_previous__",this),this._next.addInterest("set_next__",this),this._key.addInterest("set_index__",this)},set_fraction__:function(){const e=this._set_fraction.getValue(),t=this._key,n=t.length;if(0===n)return;let o=0;if(1===n||e<=t[0])o=0;else if(e>=t[n-1])o=this.getSize()-1;else{o=i.upperBound(t,0,n,e)-1}o!==this.index&&o<this.getSize()&&this.sequence(this.index=o)},set_previous__:function(){this._previous.getValue()&&(this.index<=0?this.index=this.getSize()-1:--this.index,this.index<this.getSize()&&this.sequence(this.index))},set_next__:function(){this._next.getValue()&&(this.index>=this.getSize()-1?this.index=0:++this.index,this.index<this.getSize()&&this.sequence(this.index))},set_index__:function(){this.index=-1}}),n})),t("x_ite/Components/EventUtilities/BooleanSequencer",["x_ite/Fields","x_ite/Base/X3DFieldDefinition","x_ite/Base/FieldDefinitionArray","x_ite/Components/EventUtilities/X3DSequencerNode","x_ite/Base/X3DConstants"],(function(e,t,i,n,o){"use strict";function s(e){n.call(this,e),this.addType(o.BooleanSequencer)}return s.prototype=Object.assign(Object.create(n.prototype),{constructor:s,[Symbol.for("X_ITE.X3DBaseNode.fieldDefinitions")]:new i([new t(o.inputOutput,"metadata",new e.SFNode),new t(o.inputOnly,"set_fraction",new e.SFFloat),new t(o.inputOnly,"previous",new e.SFBool),new t(o.inputOnly,"next",new e.SFBool),new t(o.inputOutput,"key",new e.MFFloat),new t(o.inputOutput,"keyValue",new e.MFBool),new t(o.outputOnly,"value_changed",new e.SFBool)]),getTypeName:function(){return"BooleanSequencer"},getComponentName:function(){return"EventUtilities"},getContainerField:function(){return"children"},initialize:function(){n.prototype.initialize.call(this),this._keyValue.addInterest("set_index__",this)},getSize:function(){return this._keyValue.length},sequence:function(e){this._value_changed=this._keyValue[e]}}),s})),t("x_ite/Components/EventUtilities/BooleanToggle",["x_ite/Fields","x_ite/Base/X3DFieldDefinition","x_ite/Base/FieldDefinitionArray","x_ite/Components/Core/X3DChildNode","x_ite/Base/X3DConstants"],(function(e,t,i,n,o){"use strict";function s(e){n.call(this,e),this.addType(o.BooleanToggle)}return s.prototype=Object.assign(Object.create(n.prototype),{constructor:s,[Symbol.for("X_ITE.X3DBaseNode.fieldDefinitions")]:new i([new t(o.inputOutput,"metadata",new e.SFNode),new t(o.inputOnly,"set_boolean",new e.SFBool),new t(o.inputOutput,"toggle",new e.SFBool)]),getTypeName:function(){return"BooleanToggle"},getComponentName:function(){return"EventUtilities"},getContainerField:function(){return"children"},initialize:function(){n.prototype.initialize.call(this),this._set_boolean.addInterest("set_boolean__",this)},set_boolean__:function(){this._set_boolean.getValue()&&(this._toggle=!this._toggle.getValue())}}),s})),t("x_ite/Components/EventUtilities/X3DTriggerNode",["x_ite/Components/Core/X3DChildNode","x_ite/Base/X3DConstants"],(function(e,t){"use strict";function i(i){e.call(this,i),this.addType(t.X3DTriggerNode)}return i.prototype=Object.assign(Object.create(e.prototype),{constructor:i}),i})),t("x_ite/Components/EventUtilities/BooleanTrigger",["x_ite/Fields","x_ite/Base/X3DFieldDefinition","x_ite/Base/FieldDefinitionArray","x_ite/Components/EventUtilities/X3DTriggerNode","x_ite/Base/X3DConstants"],(function(e,t,i,n,o){"use strict";function s(e){n.call(this,e),this.addType(o.BooleanTrigger)}return s.prototype=Object.assign(Object.create(n.prototype),{constructor:s,[Symbol.for("X_ITE.X3DBaseNode.fieldDefinitions")]:new i([new t(o.inputOutput,"metadata",new e.SFNode),new t(o.inputOnly,"set_triggerTime",new e.SFTime),new t(o.outputOnly,"triggerTrue",new e.SFBool)]),getTypeName:function(){return"BooleanTrigger"},getComponentName:function(){return"EventUtilities"},getContainerField:function(){return"children"},initialize:function(){n.prototype.initialize.call(this),this._set_triggerTime.addInterest("set_triggerTime__",this)},set_triggerTime__:function(){this._triggerTrue=!0}}),s})),t("x_ite/Components/EventUtilities/IntegerSequencer",["x_ite/Fields","x_ite/Base/X3DFieldDefinition","x_ite/Base/FieldDefinitionArray","x_ite/Components/EventUtilities/X3DSequencerNode","x_ite/Base/X3DConstants"],(function(e,t,i,n,o){"use strict";function s(e){n.call(this,e),this.addType(o.IntegerSequencer)}return s.prototype=Object.assign(Object.create(n.prototype),{constructor:s,[Symbol.for("X_ITE.X3DBaseNode.fieldDefinitions")]:new i([new t(o.inputOutput,"metadata",new e.SFNode),new t(o.inputOnly,"set_fraction",new e.SFFloat),new t(o.inputOnly,"previous",new e.SFBool),new t(o.inputOnly,"next",new e.SFBool),new t(o.inputOutput,"key",new e.MFFloat),new t(o.inputOutput,"keyValue",new e.MFInt32),new t(o.outputOnly,"value_changed",new e.SFInt32)]),getTypeName:function(){return"IntegerSequencer"},getComponentName:function(){return"EventUtilities"},getContainerField:function(){return"children"},initialize:function(){n.prototype.initialize.call(this),this._keyValue.addInterest("set_index__",this)},getSize:function(){return this._keyValue.length},sequence:function(e){this._value_changed=this._keyValue[e]}}),s})),t("x_ite/Components/EventUtilities/IntegerTrigger",["x_ite/Fields","x_ite/Base/X3DFieldDefinition","x_ite/Base/FieldDefinitionArray","x_ite/Components/EventUtilities/X3DTriggerNode","x_ite/Base/X3DConstants"],(function(e,t,i,n,o){"use strict";function s(e){n.call(this,e),this.addType(o.IntegerTrigger)}return s.prototype=Object.assign(Object.create(n.prototype),{constructor:s,[Symbol.for("X_ITE.X3DBaseNode.fieldDefinitions")]:new i([new t(o.inputOutput,"metadata",new e.SFNode),new t(o.inputOnly,"set_boolean",new e.SFBool),new t(o.inputOutput,"integerKey",new e.SFInt32(-1)),new t(o.outputOnly,"triggerValue",new e.SFInt32)]),getTypeName:function(){return"IntegerTrigger"},getComponentName:function(){return"EventUtilities"},getContainerField:function(){return"children"},initialize:function(){n.prototype.initialize.call(this),this._set_boolean.addInterest("set_boolean__",this)},set_boolean__:function(){this._triggerValue=this._integerKey}}),s})),t("x_ite/Components/EventUtilities/TimeTrigger",["x_ite/Fields","x_ite/Base/X3DFieldDefinition","x_ite/Base/FieldDefinitionArray","x_ite/Components/EventUtilities/X3DTriggerNode","x_ite/Base/X3DConstants"],(function(e,t,i,n,o){"use strict";function s(e){n.call(this,e),this.addType(o.TimeTrigger)}return s.prototype=Object.assign(Object.create(n.prototype),{constructor:s,[Symbol.for("X_ITE.X3DBaseNode.fieldDefinitions")]:new i([new t(o.inputOutput,"metadata",new e.SFNode),new t(o.inputOnly,"set_boolean",new e.SFBool),new t(o.outputOnly,"triggerTime",new e.SFTime)]),getTypeName:function(){return"TimeTrigger"},getComponentName:function(){return"EventUtilities"},getContainerField:function(){return"children"},initialize:function(){n.prototype.initialize.call(this),this._set_boolean.addInterest("set_boolean__",this)},set_boolean__:function(){this._triggerTime=this.getBrowser().getCurrentTime()}}),s})),t(i.getComponentUrl("event-utilities"),["x_ite/Components","x_ite/Components/EventUtilities/BooleanFilter","x_ite/Components/EventUtilities/BooleanSequencer","x_ite/Components/EventUtilities/BooleanToggle","x_ite/Components/EventUtilities/BooleanTrigger","x_ite/Components/EventUtilities/IntegerSequencer","x_ite/Components/EventUtilities/IntegerTrigger","x_ite/Components/EventUtilities/TimeTrigger","x_ite/Components/EventUtilities/X3DSequencerNode","x_ite/Components/EventUtilities/X3DTriggerNode"],(function(e,t,i,n,o,s,r,l,a,u){"use strict";e.addComponent({name:"EventUtilities",types:{BooleanFilter:t,BooleanSequencer:i,BooleanToggle:n,BooleanTrigger:o,IntegerSequencer:s,IntegerTrigger:r,TimeTrigger:l},abstractTypes:{X3DSequencerNode:a,X3DTriggerNode:u}})}))}();
|
|
@@ -4,8 +4,9 @@
|
|
|
4
4
|
var module = { }, exports, process;
|
|
5
5
|
|
|
6
6
|
const
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
X3D = window [Symbol .for ("X_ITE.X3D-6.1.0")],
|
|
8
|
+
define = X3D .define,
|
|
9
|
+
require = X3D .require;
|
|
9
10
|
/* -*- Mode: JavaScript; coding: utf-8; tab-width: 3; indent-tabs-mode: tab; c-basic-offset: 3 -*-
|
|
10
11
|
*******************************************************************************
|
|
11
12
|
*
|
|
@@ -449,6 +450,7 @@ function (X3DBaseNode,
|
|
|
449
450
|
// Circle
|
|
450
451
|
|
|
451
452
|
circleVertices .push (point1 .real, point1 .imag, 0, 1);
|
|
453
|
+
circleVertices .push (point2 .real, point2 .imag, 0, 1);
|
|
452
454
|
|
|
453
455
|
// Disk
|
|
454
456
|
|
|
@@ -675,7 +677,7 @@ function (Arc2DOptions,
|
|
|
675
677
|
{
|
|
676
678
|
initialize: function ()
|
|
677
679
|
{
|
|
678
|
-
this .
|
|
680
|
+
this .setPrimitiveQuality2D (this .getBrowserOptions () .getPrimitiveQuality ());
|
|
679
681
|
},
|
|
680
682
|
getArc2DOptions: function ()
|
|
681
683
|
{
|
|
@@ -697,7 +699,7 @@ function (Arc2DOptions,
|
|
|
697
699
|
{
|
|
698
700
|
return getOptionNode .call (this, "getRectangle2DOptions", Rectangle2DOptions);
|
|
699
701
|
},
|
|
700
|
-
|
|
702
|
+
setPrimitiveQuality2D: function (primitiveQuality)
|
|
701
703
|
{
|
|
702
704
|
const
|
|
703
705
|
arc = this .getArc2DOptions (),
|
|
@@ -1323,6 +1325,7 @@ define ('x_ite/Components/Geometry2D/Disk2D',[
|
|
|
1323
1325
|
"x_ite/Base/FieldDefinitionArray",
|
|
1324
1326
|
"x_ite/Components/Rendering/X3DGeometryNode",
|
|
1325
1327
|
"x_ite/Components/Rendering/X3DLineGeometryNode",
|
|
1328
|
+
"x_ite/Components/Rendering/X3DPointGeometryNode",
|
|
1326
1329
|
"x_ite/Base/X3DConstants",
|
|
1327
1330
|
],
|
|
1328
1331
|
function (Fields,
|
|
@@ -1330,6 +1333,7 @@ function (Fields,
|
|
|
1330
1333
|
FieldDefinitionArray,
|
|
1331
1334
|
X3DGeometryNode,
|
|
1332
1335
|
X3DLineGeometryNode,
|
|
1336
|
+
X3DPointGeometryNode,
|
|
1333
1337
|
X3DConstants)
|
|
1334
1338
|
{
|
|
1335
1339
|
"use strict";
|
|
@@ -1345,7 +1349,6 @@ function (Fields,
|
|
|
1345
1349
|
}
|
|
1346
1350
|
|
|
1347
1351
|
Disk2D .prototype = Object .assign (Object .create (X3DGeometryNode .prototype),
|
|
1348
|
-
//X3DLineGeometryNode .prototype, // Considered X3DLineGeometryNode.
|
|
1349
1352
|
{
|
|
1350
1353
|
constructor: Disk2D,
|
|
1351
1354
|
[Symbol .for ("X_ITE.X3DBaseNode.fieldDefinitions")]: new FieldDefinitionArray ([
|
|
@@ -1382,7 +1385,9 @@ function (Fields,
|
|
|
1382
1385
|
build: function ()
|
|
1383
1386
|
{
|
|
1384
1387
|
const
|
|
1385
|
-
|
|
1388
|
+
browser = this .getBrowser (),
|
|
1389
|
+
gl = browser .getContext (),
|
|
1390
|
+
options = browser .getDisk2DOptions (),
|
|
1386
1391
|
innerRadius = Math .min (Math .abs (this ._innerRadius .getValue ()), Math .abs (this ._outerRadius .getValue ())),
|
|
1387
1392
|
outerRadius = Math .max (Math .abs (this ._innerRadius .getValue ()), Math .abs (this ._outerRadius .getValue ()));
|
|
1388
1393
|
|
|
@@ -1394,8 +1399,15 @@ function (Fields,
|
|
|
1394
1399
|
|
|
1395
1400
|
if (outerRadius === 0)
|
|
1396
1401
|
{
|
|
1397
|
-
|
|
1398
|
-
|
|
1402
|
+
vertexArray .push (0, 0, 0, 1);
|
|
1403
|
+
|
|
1404
|
+
this .getMin () .set (0, 0, 0);
|
|
1405
|
+
this .getMax () .set (0, 0, 0);
|
|
1406
|
+
|
|
1407
|
+
this .setGeometryType (0);
|
|
1408
|
+
this .setPrimitiveMode (gl .POINTS);
|
|
1409
|
+
this .setTransparent (true);
|
|
1410
|
+
this .setBase (X3DPointGeometryNode);
|
|
1399
1411
|
return;
|
|
1400
1412
|
}
|
|
1401
1413
|
|
|
@@ -1417,6 +1429,9 @@ function (Fields,
|
|
|
1417
1429
|
this .getMax () .set ( outerRadius, outerRadius, 0);
|
|
1418
1430
|
|
|
1419
1431
|
this .setGeometryType (1);
|
|
1432
|
+
this .setPrimitiveMode (gl .LINES);
|
|
1433
|
+
this .setTransparent (false);
|
|
1434
|
+
this .setBase (X3DLineGeometryNode);
|
|
1420
1435
|
return;
|
|
1421
1436
|
}
|
|
1422
1437
|
|
|
@@ -1445,7 +1460,10 @@ function (Fields,
|
|
|
1445
1460
|
this .getMax () .set ( outerRadius, outerRadius, 0);
|
|
1446
1461
|
|
|
1447
1462
|
this .setGeometryType (2);
|
|
1463
|
+
this .setPrimitiveMode (gl .TRIANGLES);
|
|
1464
|
+
this .setTransparent (false);
|
|
1448
1465
|
this .setSolid (this ._solid .getValue ());
|
|
1466
|
+
this .setBase (X3DGeometryNode);
|
|
1449
1467
|
return;
|
|
1450
1468
|
}
|
|
1451
1469
|
|
|
@@ -1488,52 +1506,20 @@ function (Fields,
|
|
|
1488
1506
|
this .getMax () .set ( outerRadius, outerRadius, 0);
|
|
1489
1507
|
|
|
1490
1508
|
this .setGeometryType (2);
|
|
1509
|
+
this .setPrimitiveMode (gl .TRIANGLES);
|
|
1510
|
+
this .setTransparent (false);
|
|
1491
1511
|
this .setSolid (this ._solid .getValue ());
|
|
1512
|
+
this .setBase (X3DGeometryNode);
|
|
1492
1513
|
},
|
|
1493
|
-
|
|
1494
|
-
{
|
|
1495
|
-
if (this .getGeometryType () < 2)
|
|
1496
|
-
{
|
|
1497
|
-
return X3DLineGeometryNode .prototype .intersectsLine .call (this, line, clipPlanes, modelViewMatrix, intersections);
|
|
1498
|
-
}
|
|
1499
|
-
else
|
|
1500
|
-
{
|
|
1501
|
-
return X3DGeometryNode .prototype .intersectsLine .call (this, line, clipPlanes, modelViewMatrix, intersections);
|
|
1502
|
-
}
|
|
1503
|
-
},
|
|
1504
|
-
intersectsBox: function (box, clipPlanes, modelViewMatrix)
|
|
1505
|
-
{
|
|
1506
|
-
if (this .getGeometryType () < 2)
|
|
1507
|
-
{
|
|
1508
|
-
return X3DLineGeometryNode .prototype .intersectsBox .call (this, box, clipPlanes, modelViewMatrix);
|
|
1509
|
-
}
|
|
1510
|
-
else
|
|
1511
|
-
{
|
|
1512
|
-
return X3DGeometryNode .prototype .intersectsBox .call (this, box, clipPlanes, modelViewMatrix);
|
|
1513
|
-
}
|
|
1514
|
-
},
|
|
1515
|
-
display: function (gl, context)
|
|
1514
|
+
setBase: function (base)
|
|
1516
1515
|
{
|
|
1517
|
-
|
|
1518
|
-
|
|
1519
|
-
|
|
1520
|
-
|
|
1521
|
-
else
|
|
1522
|
-
{
|
|
1523
|
-
return X3DGeometryNode .prototype .display .call (this, gl, context);
|
|
1524
|
-
}
|
|
1516
|
+
this .intersectsLine = base .prototype .intersectsLine;
|
|
1517
|
+
this .intersectsBox = base .prototype .intersectsBox;
|
|
1518
|
+
this .display = base .prototype .display;
|
|
1519
|
+
this .displayParticles = base .prototype .displayParticles;
|
|
1525
1520
|
},
|
|
1526
|
-
|
|
1527
|
-
{
|
|
1528
|
-
if (this .getGeometryType () < 2)
|
|
1529
|
-
{
|
|
1530
|
-
return X3DLineGeometryNode .prototype .displayParticles .call (this, gl, context, particles, numParticles);
|
|
1531
|
-
}
|
|
1532
|
-
else
|
|
1533
|
-
{
|
|
1534
|
-
return X3DGeometryNode .prototype .displayParticles .call (this, gl, context, particles, numParticles);
|
|
1535
|
-
}
|
|
1536
|
-
}
|
|
1521
|
+
setRenderFunctions: function ()
|
|
1522
|
+
{ },
|
|
1537
1523
|
});
|
|
1538
1524
|
|
|
1539
1525
|
return Disk2D;
|
|
@@ -2038,7 +2024,7 @@ function (Fields,
|
|
|
2038
2024
|
texCoordArray .shrinkToFit ();
|
|
2039
2025
|
}
|
|
2040
2026
|
|
|
2041
|
-
|
|
2027
|
+
this .getMultiTexCoords () .push (texCoordArray);
|
|
2042
2028
|
},
|
|
2043
2029
|
});
|
|
2044
2030
|
|
|
@@ -2134,7 +2120,7 @@ function (Components,
|
|
|
2134
2120
|
abstractTypes:
|
|
2135
2121
|
{
|
|
2136
2122
|
},
|
|
2137
|
-
|
|
2123
|
+
context: X3DGeometry2DContext,
|
|
2138
2124
|
});
|
|
2139
2125
|
});
|
|
2140
2126
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(){const e=window[Symbol.for("X_ITE.X3D-5.0.3")].define,t=window[Symbol.for("X_ITE.X3D-5.0.3")].require;e("x_ite/Browser/Geometry2D/Arc2DOptions",["x_ite/Base/X3DBaseNode","x_ite/Fields"],(function(e,t){"use strict";function i(i){e.call(this,i),this.addChildObjects("dimension",new t.SFInt32(40))}return i.prototype=Object.assign(Object.create(e.prototype),{constructor:i,getTypeName:function(){return"ArcClose2DOptions"},getComponentName:function(){return"X_ITE"},getContainerField:function(){return"arcClose2DOptions"}}),i})),e("x_ite/Browser/Geometry2D/ArcClose2DOptions",["x_ite/Base/X3DBaseNode","x_ite/Fields"],(function(e,t){"use strict";function i(i){e.call(this,i),this.addChildObjects("dimension",new t.SFInt32(40))}return i.prototype=Object.assign(Object.create(e.prototype),{constructor:i,getTypeName:function(){return"Arc2DOptions"},getComponentName:function(){return"X_ITE"},getContainerField:function(){return"arc2DOptions"}}),i})),e("x_ite/Browser/Geometry2D/Circle2DOptions",["x_ite/Base/X3DBaseNode","x_ite/Fields","x_ite/Components/Rendering/X3DGeometryNode","standard/Math/Numbers/Complex"],(function(e,t,i,n){"use strict";function s(n){e.call(this,n),this.addChildObjects("dimension",new t.SFInt32(40)),this.vertices=i.createArray()}return s.prototype=Object.assign(Object.create(e.prototype),{constructor:s,getTypeName:function(){return"Circle2DOptions"},getComponentName:function(){return"X_ITE"},getContainerField:function(){return"circle2DOptions"},initialize:function(){this.addInterest("build",this),this.build()},getVertices:function(){return this.vertices},build:function(){const e=this._dimension.getValue(),t=2*Math.PI/e,i=this.vertices;i.length=0;for(let s=0;s<e;++s){const e=n.Polar(1,t*s),o=n.Polar(1,t*(s+1));i.push(e.real,e.imag,0,1),i.push(o.real,o.imag,0,1)}i.shrinkToFit()}}),s})),e("x_ite/Browser/Geometry2D/Disk2DOptions",["x_ite/Base/X3DBaseNode","x_ite/Fields","x_ite/Components/Rendering/X3DGeometryNode","standard/Math/Numbers/Complex","standard/Math/Numbers/Vector3"],(function(e,t,i,n,s){"use strict";function o(n){e.call(this,n),this.addChildObjects("dimension",new t.SFInt32(40)),this.circleVertices=i.createArray(),this.diskTexCoords=i.createArray(),this.diskNormals=i.createArray(),this.diskVertices=i.createArray()}return o.prototype=Object.assign(Object.create(e.prototype),{constructor:o,getTypeName:function(){return"Disk2DOptions"},getComponentName:function(){return"X_ITE"},getContainerField:function(){return"circle2DOptions"},initialize:function(){this.addInterest("build",this),this.build()},getCircleVertices:function(){return this.circleVertices},getDiskTexCoords:function(){return this.diskTexCoords},getDiskNormals:function(){return this.diskNormals},getDiskVertices:function(){return this.diskVertices},build:function(){const e=new n(.5,.5),t=new n(0,0),i=new n(0,0),s=new n(0,0),o=new n(0,0);return function(){const n=this._dimension.getValue(),r=2*Math.PI/n,a=this.circleVertices,l=this.diskTexCoords,c=this.diskNormals,u=this.diskVertices;a.length=0,l.length=0,c.length=0,u.length=0;for(let g=0;g<n;++g){const n=r*g,h=r*(g+1);t.setPolar(.5,n).add(e),i.setPolar(.5,h).add(e),s.setPolar(1,n),o.setPolar(1,h),a.push(s.real,s.imag,0,1),l.push(.5,.5,0,1,t.real,t.imag,0,1,i.real,i.imag,0,1),c.push(0,0,1,0,0,1,0,0,1),u.push(0,0,0,1,s.real,s.imag,0,1,o.real,o.imag,0,1)}a.shrinkToFit(),l.shrinkToFit(),c.shrinkToFit(),u.shrinkToFit()}}()}),o})),e("x_ite/Browser/Geometry2D/Rectangle2DOptions",["x_ite/Fields","x_ite/Base/X3DBaseNode","x_ite/Components/Geometry3D/IndexedFaceSet","x_ite/Components/Rendering/Coordinate","x_ite/Components/Texturing/TextureCoordinate"],(function(e,t,i,n,s){"use strict";function o(e){t.call(this,e)}return o.prototype=Object.assign(Object.create(t.prototype),{constructor:o,getTypeName:function(){return"Rectangle2DOptions"},getComponentName:function(){return"X_ITE"},getContainerField:function(){return"rectangle2DOptions"},initialize:function(){t.prototype.initialize.call(this)},getGeometry:function(){if(this.geometry)return this.geometry;this.geometry=new i(this.getExecutionContext()),this.geometry._texCoord=new s(this.getExecutionContext()),this.geometry._coord=new n(this.getExecutionContext());const t=this.geometry,o=this.geometry._texCoord.getValue(),r=this.geometry._coord.getValue();return t._texCoordIndex=new e.MFInt32(0,1,2,3,-1),t._coordIndex=new e.MFInt32(0,1,2,3,-1),o._point=new e.MFVec2f(new e.SFVec2f(1,1),new e.SFVec2f(0,1),new e.SFVec2f(0,0),new e.SFVec2f(1,0)),r._point=new e.MFVec3f(new e.SFVec3f(1,1,0),new e.SFVec3f(-1,1,0),new e.SFVec3f(-1,-1,0),new e.SFVec3f(1,-1,0)),o.setup(),r.setup(),t.setup(),this.geometry}}),o})),e("x_ite/Browser/Geometry2D/X3DGeometry2DContext",["x_ite/Browser/Geometry2D/Arc2DOptions","x_ite/Browser/Geometry2D/ArcClose2DOptions","x_ite/Browser/Geometry2D/Circle2DOptions","x_ite/Browser/Geometry2D/Disk2DOptions","x_ite/Browser/Geometry2D/Rectangle2DOptions","x_ite/Browser/Core/PrimitiveQuality"],(function(e,t,i,n,s,o){"use strict";function r(){}function a(e,t){const i=new t(this.getPrivateScene());return i.setup(),this[e]=function(){return i},Object.defineProperty(this,e,{enumerable:!1}),i}return r.prototype={initialize:function(){this.setGeometry2DPrimitiveQuality(this.getBrowserOptions().getPrimitiveQuality())},getArc2DOptions:function(){return a.call(this,"getArc2DOptions",e)},getArcClose2DOptions:function(){return a.call(this,"getArcClose2DOptions",t)},getCircle2DOptions:function(){return a.call(this,"getCircle2DOptions",i)},getDisk2DOptions:function(){return a.call(this,"getDisk2DOptions",n)},getRectangle2DOptions:function(){return a.call(this,"getRectangle2DOptions",s)},setGeometry2DPrimitiveQuality:function(e){const t=this.getArc2DOptions(),i=this.getArcClose2DOptions(),n=this.getCircle2DOptions(),s=this.getDisk2DOptions();switch(e){case o.LOW:t._dimension=20,i._dimension=20,n._dimension=20,s._dimension=20;break;case o.MEDIUM:t._dimension=40,i._dimension=40,n._dimension=40,s._dimension=40;break;case o.HIGH:t._dimension=80,i._dimension=80,n._dimension=80,s._dimension=80}}},r})),e("x_ite/Components/Geometry2D/Arc2D",["x_ite/Fields","x_ite/Base/X3DFieldDefinition","x_ite/Base/FieldDefinitionArray","x_ite/Components/Rendering/X3DLineGeometryNode","x_ite/Base/X3DConstants","standard/Math/Numbers/Complex","standard/Math/Algorithm"],(function(e,t,i,n,s,o,r){"use strict";function a(e){n.call(this,e),this.addType(s.Arc2D),this._startAngle.setUnit("angle"),this._endAngle.setUnit("angle"),this._radius.setUnit("length")}return a.prototype=Object.assign(Object.create(n.prototype),{constructor:a,[Symbol.for("X_ITE.X3DBaseNode.fieldDefinitions")]:new i([new t(s.inputOutput,"metadata",new e.SFNode),new t(s.initializeOnly,"startAngle",new e.SFFloat),new t(s.initializeOnly,"endAngle",new e.SFFloat(1.5708)),new t(s.initializeOnly,"radius",new e.SFFloat(1))]),getTypeName:function(){return"Arc2D"},getComponentName:function(){return"Geometry2D"},getContainerField:function(){return"geometry"},set_live__:function(){n.prototype.set_live__.call(this),this.isLive().getValue()?this.getBrowser().getArc2DOptions().addInterest("requestRebuild",this):this.getBrowser().getArc2DOptions().removeInterest("requestRebuild",this)},getSweepAngle:function(){const e=r.interval(this._startAngle.getValue(),0,2*Math.PI),t=r.interval(this._endAngle.getValue(),0,2*Math.PI);if(e===t)return 2*Math.PI;const i=Math.abs(t-e);return e>t?2*Math.PI-i:isNaN(i)?0:i},build:function(){const e=this.getBrowser().getArc2DOptions()._dimension.getValue(),t=this._startAngle.getValue(),i=Math.abs(this._radius.getValue()),n=this.getSweepAngle(),s=Math.max(3,Math.floor(n*e/(2*Math.PI))),r=this.getVertices();for(let e=0;e<s;++e){const a=t+n*(e/s),l=o.Polar(i,a),c=t+n*((e+1)/s),u=o.Polar(i,c);r.push(l.real,l.imag,0,1),r.push(u.real,u.imag,0,1)}this.getMin().set(-i,-i,0),this.getMax().set(i,i,0)}}),a})),e("x_ite/Components/Geometry2D/ArcClose2D",["x_ite/Fields","x_ite/Base/X3DFieldDefinition","x_ite/Base/FieldDefinitionArray","x_ite/Components/Rendering/X3DGeometryNode","x_ite/Base/X3DConstants","standard/Math/Numbers/Complex","standard/Math/Algorithm"],(function(e,t,i,n,s,o,r){"use strict";function a(e){n.call(this,e),this.addType(s.ArcClose2D),this.setGeometryType(2),this._startAngle.setUnit("angle"),this._endAngle.setUnit("angle"),this._radius.setUnit("length")}return a.prototype=Object.assign(Object.create(n.prototype),{constructor:a,[Symbol.for("X_ITE.X3DBaseNode.fieldDefinitions")]:new i([new t(s.inputOutput,"metadata",new e.SFNode),new t(s.initializeOnly,"closureType",new e.SFString("PIE")),new t(s.initializeOnly,"startAngle",new e.SFFloat),new t(s.initializeOnly,"endAngle",new e.SFFloat(1.5708)),new t(s.initializeOnly,"radius",new e.SFFloat(1)),new t(s.initializeOnly,"solid",new e.SFBool)]),getTypeName:function(){return"ArcClose2D"},getComponentName:function(){return"Geometry2D"},getContainerField:function(){return"geometry"},set_live__:function(){n.prototype.set_live__.call(this),this.isLive().getValue()?this.getBrowser().getArcClose2DOptions().addInterest("requestRebuild",this):this.getBrowser().getArcClose2DOptions().removeInterest("requestRebuild",this)},getSweepAngle:function(){const e=r.interval(this._startAngle.getValue(),0,2*Math.PI),t=r.interval(this._endAngle.getValue(),0,2*Math.PI);if(e===t)return 2*Math.PI;const i=Math.abs(t-e);return e>t?2*Math.PI-i:isNaN(i)?0:i},build:function(){const e=new o(.5,.5);return function(){const t=this.getBrowser().getArcClose2DOptions(),i="CHORD"===this._closureType.getValue(),n=t._dimension.getValue(),s=this._startAngle.getValue(),r=Math.abs(this._radius.getValue()),a=this.getSweepAngle(),l=Math.max(4,Math.floor(a*n/(2*Math.PI))),c=this.getTexCoords(),u=this.getNormals(),g=this.getVertices(),h=[],d=[];this.getMultiTexCoords().push(c);const p=l-1;for(let t=0;t<l;++t){const i=s+a*(t/p);h.push(o.Polar(.5,i).add(e)),d.push(o.Polar(r,i))}if(i){const e=h[0],t=d[0];for(let i=1;i<p;++i){const n=h[i],s=h[i+1],o=d[i],r=d[i+1];c.push(e.real,e.imag,0,1,n.real,n.imag,0,1,s.real,s.imag,0,1),u.push(0,0,1,0,0,1,0,0,1),g.push(t.real,t.imag,0,1,o.real,o.imag,0,1,r.real,r.imag,0,1)}}else for(let e=0;e<p;++e){const t=h[e],i=h[e+1],n=d[e],s=d[e+1];c.push(.5,.5,0,1,t.real,t.imag,0,1,i.real,i.imag,0,1),u.push(0,0,1,0,0,1,0,0,1),g.push(0,0,0,1,n.real,n.imag,0,1,s.real,s.imag,0,1)}this.getMin().set(-r,-r,0),this.getMax().set(r,r,0),this.setSolid(this._solid.getValue())}}()}),a})),e("x_ite/Components/Geometry2D/Circle2D",["x_ite/Fields","x_ite/Base/X3DFieldDefinition","x_ite/Base/FieldDefinitionArray","x_ite/Components/Rendering/X3DLineGeometryNode","x_ite/Base/X3DConstants"],(function(e,t,i,n,s){"use strict";function o(e){n.call(this,e),this.addType(s.Circle2D),this._radius.setUnit("length")}return o.prototype=Object.assign(Object.create(n.prototype),{constructor:o,[Symbol.for("X_ITE.X3DBaseNode.fieldDefinitions")]:new i([new t(s.inputOutput,"metadata",new e.SFNode),new t(s.initializeOnly,"radius",new e.SFFloat(1))]),getTypeName:function(){return"Circle2D"},getComponentName:function(){return"Geometry2D"},getContainerField:function(){return"geometry"},set_live__:function(){n.prototype.set_live__.call(this),this.isLive().getValue()?this.getBrowser().getCircle2DOptions().addInterest("requestRebuild",this):this.getBrowser().getCircle2DOptions().removeInterest("requestRebuild",this)},build:function(){const e=this.getBrowser().getCircle2DOptions(),t=this.getVertices(),i=this._radius.getValue();if(1===i)this.setVertices(e.getVertices());else{const n=e.getVertices().getValue();for(let e=0,s=n.length;e<s;e+=4)t.push(n[e]*i,n[e+1]*i,0,1)}this.getMin().set(-i,-i,0),this.getMax().set(i,i,0)}}),o})),e("x_ite/Components/Geometry2D/Disk2D",["x_ite/Fields","x_ite/Base/X3DFieldDefinition","x_ite/Base/FieldDefinitionArray","x_ite/Components/Rendering/X3DGeometryNode","x_ite/Components/Rendering/X3DLineGeometryNode","x_ite/Base/X3DConstants"],(function(e,t,i,n,s,o){"use strict";function r(e){s.call(this,e),this.addType(o.Disk2D),this._innerRadius.setUnit("length"),this._outerRadius.setUnit("length")}return r.prototype=Object.assign(Object.create(n.prototype),{constructor:r,[Symbol.for("X_ITE.X3DBaseNode.fieldDefinitions")]:new i([new t(o.inputOutput,"metadata",new e.SFNode),new t(o.initializeOnly,"innerRadius",new e.SFFloat),new t(o.initializeOnly,"outerRadius",new e.SFFloat(1)),new t(o.initializeOnly,"solid",new e.SFBool)]),getTypeName:function(){return"Disk2D"},getComponentName:function(){return"Geometry2D"},getContainerField:function(){return"geometry"},initialize:function(){n.prototype.initialize.call(this)},set_live__:function(){n.prototype.set_live__.call(this),this.isLive().getValue()?this.getBrowser().getDisk2DOptions().addInterest("requestRebuild",this):this.getBrowser().getDisk2DOptions().removeInterest("requestRebuild",this)},build:function(){const e=this.getBrowser().getDisk2DOptions(),t=Math.min(Math.abs(this._innerRadius.getValue()),Math.abs(this._outerRadius.getValue())),i=Math.max(Math.abs(this._innerRadius.getValue()),Math.abs(this._outerRadius.getValue()));if(t===i){const t=this.getVertices();if(0===i)return;if(1===i)this.setVertices(e.getCircleVertices());else{const n=e.getCircleVertices().getValue();for(let e=0,s=n.length;e<s;e+=4)t.push(n[e]*i,n[e+1]*i,0,1)}return this.getMin().set(-i,-i,0),this.getMax().set(i,i,0),void this.setGeometryType(1)}if(0===t){if(this.getMultiTexCoords().push(e.getDiskTexCoords()),this.setNormals(e.getDiskNormals()),1===i)this.setVertices(e.getDiskVertices());else{const t=e.getDiskVertices().getValue(),n=this.getVertices();for(let e=0,s=t.length;e<s;e+=4)n.push(t[e]*i,t[e+1]*i,0,1)}return this.getMin().set(-i,-i,0),this.getMax().set(i,i,0),this.setGeometryType(2),void this.setSolid(this._solid.getValue())}const n=t/i,s=(1-n)/2,o=e.getDiskTexCoords().getValue(),r=e.getDiskVertices().getValue(),a=this.getTexCoords(),l=this.getNormals(),c=this.getVertices();this.getMultiTexCoords().push(a);for(let e=0,u=r.length;e<u;e+=12)a.push(o[e+4]*n+s,o[e+5]*n+s,0,1,o[e+4],o[e+5],0,1,o[e+8],o[e+9],0,1,o[e+4]*n+s,o[e+5]*n+s,0,1,o[e+8],o[e+9],0,1,o[e+8]*n+s,o[e+9]*n+s,0,1),l.push(0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1),c.push(r[e+4]*t,r[e+5]*t,0,1,r[e+4]*i,r[e+5]*i,0,1,r[e+8]*i,r[e+9]*i,0,1,r[e+4]*t,r[e+5]*t,0,1,r[e+8]*i,r[e+9]*i,0,1,r[e+8]*t,r[e+9]*t,0,1);this.getMin().set(-i,-i,0),this.getMax().set(i,i,0),this.setGeometryType(2),this.setSolid(this._solid.getValue())},intersectsLine:function(e,t,i,o){return this.getGeometryType()<2?s.prototype.intersectsLine.call(this,e,t,i,o):n.prototype.intersectsLine.call(this,e,t,i,o)},intersectsBox:function(e,t,i){return this.getGeometryType()<2?s.prototype.intersectsBox.call(this,e,t,i):n.prototype.intersectsBox.call(this,e,t,i)},display:function(e,t){return this.getGeometryType()<2?s.prototype.display.call(this,e,t):n.prototype.display.call(this,e,t)},displayParticles:function(e,t,i,o){return this.getGeometryType()<2?s.prototype.displayParticles.call(this,e,t,i,o):n.prototype.displayParticles.call(this,e,t,i,o)}}),r})),e("x_ite/Components/Geometry2D/Polyline2D",["x_ite/Fields","x_ite/Base/X3DFieldDefinition","x_ite/Base/FieldDefinitionArray","x_ite/Components/Rendering/X3DLineGeometryNode","x_ite/Base/X3DConstants"],(function(e,t,i,n,s){"use strict";function o(e){n.call(this,e),this.addType(s.Polyline2D),this._lineSegments.setUnit("length")}return o.prototype=Object.assign(Object.create(n.prototype),{constructor:o,[Symbol.for("X_ITE.X3DBaseNode.fieldDefinitions")]:new i([new t(s.inputOutput,"metadata",new e.SFNode),new t(s.initializeOnly,"lineSegments",new e.MFVec2f)]),getTypeName:function(){return"Polyline2D"},getComponentName:function(){return"Geometry2D"},getContainerField:function(){return"geometry"},build:function(){const e=this._lineSegments.getValue(),t=this.getVertices();for(let i=0,n=2*(this._lineSegments.length-1);i<n;i+=2)t.push(e[i+0],e[i+1],0,1),t.push(e[i+2],e[i+3],0,1)}}),o})),e("x_ite/Components/Geometry2D/Polypoint2D",["x_ite/Fields","x_ite/Base/X3DFieldDefinition","x_ite/Base/FieldDefinitionArray","x_ite/Components/Rendering/X3DPointGeometryNode","x_ite/Base/X3DConstants"],(function(e,t,i,n,s){"use strict";function o(e){n.call(this,e),this.addType(s.Polypoint2D),this._point.setUnit("length")}return o.prototype=Object.assign(Object.create(n.prototype),{constructor:o,[Symbol.for("X_ITE.X3DBaseNode.fieldDefinitions")]:new i([new t(s.inputOutput,"metadata",new e.SFNode),new t(s.inputOutput,"point",new e.MFVec2f)]),getTypeName:function(){return"Polypoint2D"},getComponentName:function(){return"Geometry2D"},getContainerField:function(){return"geometry"},build:function(){const e=this._point.getValue(),t=this.getVertices();for(let i=0,n=2*this._point.length;i<n;i+=2)t.push(e[i],e[i+1],0,1)}}),o})),e("x_ite/Components/Geometry2D/Rectangle2D",["x_ite/Fields","x_ite/Base/X3DFieldDefinition","x_ite/Base/FieldDefinitionArray","x_ite/Components/Rendering/X3DGeometryNode","x_ite/Base/X3DConstants","standard/Math/Numbers/Vector2","standard/Math/Numbers/Vector3"],(function(e,t,i,n,s,o,r){"use strict";function a(e){n.call(this,e),this.addType(s.Rectangle2D),this.setGeometryType(2),this._size.setUnit("length")}return a.prototype=Object.assign(Object.create(n.prototype),{constructor:a,[Symbol.for("X_ITE.X3DBaseNode.fieldDefinitions")]:new i([new t(s.inputOutput,"metadata",new e.SFNode),new t(s.initializeOnly,"size",new e.SFVec2f(2,2)),new t(s.initializeOnly,"solid",new e.SFBool)]),getTypeName:function(){return"Rectangle2D"},getComponentName:function(){return"Geometry2D"},getContainerField:function(){return"geometry"},build:function(){const e=new o(2,2);return function(){const t=this.getBrowser().getRectangle2DOptions().getGeometry(),i=this._size.getValue();if(this.setMultiTexCoords(t.getMultiTexCoords()),this.setNormals(t.getNormals()),i.equals(e))this.setVertices(t.getVertices()),this.getMin().assign(t.getMin()),this.getMax().assign(t.getMax());else{const e=r.divide(i,2),n=e.x,s=e.y,o=t.getVertices().getValue(),a=this.getVertices();for(let e=0;e<o.length;e+=4)a.push(n*o[e],s*o[e+1],0,1);this.getMin().set(-n,-s,0),this.getMax().set(n,s,0)}this.setSolid(this._solid.getValue())}}()}),a})),e("x_ite/Components/Geometry2D/TriangleSet2D",["x_ite/Fields","x_ite/Base/X3DFieldDefinition","x_ite/Base/FieldDefinitionArray","x_ite/Components/Rendering/X3DGeometryNode","x_ite/Base/X3DConstants"],(function(e,t,i,n,s){"use strict";function o(e){n.call(this,e),this.addType(s.TriangleSet2D),this.setGeometryType(2),this._vertices.setUnit("length")}return o.prototype=Object.assign(Object.create(n.prototype),{constructor:o,[Symbol.for("X_ITE.X3DBaseNode.fieldDefinitions")]:new i([new t(s.inputOutput,"metadata",new e.SFNode),new t(s.inputOutput,"vertices",new e.MFVec2f),new t(s.initializeOnly,"solid",new e.SFBool)]),getTypeName:function(){return"TriangleSet2D"},getComponentName:function(){return"Geometry2D"},getContainerField:function(){return"geometry"},build:function(){const e=this._vertices.getValue(),t=this.getNormals(),i=this.getVertices();for(let n=0,s=2*this._vertices.length;n<s;n+=2)t.push(0,0,1),i.push(e[n],e[n+1],0,1);this.setSolid(this._solid.getValue())},buildTexCoords:function(){const e=this.getTexCoords();if(0===e.length){const t=this.getTexCoordParams(),i=t.min,n=t.Ssize,s=this.getVertices().getValue();for(let t=0,o=s.length;t<o;t+=4)e.push((s[t]-i[0])/n,(s[t+1]-i[1])/n,0,1);e.shrinkToFit()}return e}}),o})),e(t.getComponentUrl("geometry2d"),["x_ite/Components","x_ite/Browser/Geometry2D/X3DGeometry2DContext","x_ite/Components/Geometry2D/Arc2D","x_ite/Components/Geometry2D/ArcClose2D","x_ite/Components/Geometry2D/Circle2D","x_ite/Components/Geometry2D/Disk2D","x_ite/Components/Geometry2D/Polyline2D","x_ite/Components/Geometry2D/Polypoint2D","x_ite/Components/Geometry2D/Rectangle2D","x_ite/Components/Geometry2D/TriangleSet2D"],(function(e,t,i,n,s,o,r,a,l,c){"use strict";e.addComponent({name:"Geometry2D",types:{Arc2D:i,ArcClose2D:n,Circle2D:s,Disk2D:o,Polyline2D:r,Polypoint2D:a,Rectangle2D:l,TriangleSet2D:c},abstractTypes:{},browser:t})}))}();
|
|
1
|
+
!function(){const e=window[Symbol.for("X_ITE.X3D-6.1.0")],t=e.define,i=e.require;t("x_ite/Browser/Geometry2D/Arc2DOptions",["x_ite/Base/X3DBaseNode","x_ite/Fields"],(function(e,t){"use strict";function i(i){e.call(this,i),this.addChildObjects("dimension",new t.SFInt32(40))}return i.prototype=Object.assign(Object.create(e.prototype),{constructor:i,getTypeName:function(){return"ArcClose2DOptions"},getComponentName:function(){return"X_ITE"},getContainerField:function(){return"arcClose2DOptions"}}),i})),t("x_ite/Browser/Geometry2D/ArcClose2DOptions",["x_ite/Base/X3DBaseNode","x_ite/Fields"],(function(e,t){"use strict";function i(i){e.call(this,i),this.addChildObjects("dimension",new t.SFInt32(40))}return i.prototype=Object.assign(Object.create(e.prototype),{constructor:i,getTypeName:function(){return"Arc2DOptions"},getComponentName:function(){return"X_ITE"},getContainerField:function(){return"arc2DOptions"}}),i})),t("x_ite/Browser/Geometry2D/Circle2DOptions",["x_ite/Base/X3DBaseNode","x_ite/Fields","x_ite/Components/Rendering/X3DGeometryNode","standard/Math/Numbers/Complex"],(function(e,t,i,n){"use strict";function s(n){e.call(this,n),this.addChildObjects("dimension",new t.SFInt32(40)),this.vertices=i.createArray()}return s.prototype=Object.assign(Object.create(e.prototype),{constructor:s,getTypeName:function(){return"Circle2DOptions"},getComponentName:function(){return"X_ITE"},getContainerField:function(){return"circle2DOptions"},initialize:function(){this.addInterest("build",this),this.build()},getVertices:function(){return this.vertices},build:function(){const e=this._dimension.getValue(),t=2*Math.PI/e,i=this.vertices;i.length=0;for(let s=0;s<e;++s){const e=n.Polar(1,t*s),o=n.Polar(1,t*(s+1));i.push(e.real,e.imag,0,1),i.push(o.real,o.imag,0,1)}i.shrinkToFit()}}),s})),t("x_ite/Browser/Geometry2D/Disk2DOptions",["x_ite/Base/X3DBaseNode","x_ite/Fields","x_ite/Components/Rendering/X3DGeometryNode","standard/Math/Numbers/Complex","standard/Math/Numbers/Vector3"],(function(e,t,i,n,s){"use strict";function o(n){e.call(this,n),this.addChildObjects("dimension",new t.SFInt32(40)),this.circleVertices=i.createArray(),this.diskTexCoords=i.createArray(),this.diskNormals=i.createArray(),this.diskVertices=i.createArray()}return o.prototype=Object.assign(Object.create(e.prototype),{constructor:o,getTypeName:function(){return"Disk2DOptions"},getComponentName:function(){return"X_ITE"},getContainerField:function(){return"circle2DOptions"},initialize:function(){this.addInterest("build",this),this.build()},getCircleVertices:function(){return this.circleVertices},getDiskTexCoords:function(){return this.diskTexCoords},getDiskNormals:function(){return this.diskNormals},getDiskVertices:function(){return this.diskVertices},build:function(){const e=new n(.5,.5),t=new n(0,0),i=new n(0,0),s=new n(0,0),o=new n(0,0);return function(){const n=this._dimension.getValue(),r=2*Math.PI/n,a=this.circleVertices,l=this.diskTexCoords,c=this.diskNormals,u=this.diskVertices;a.length=0,l.length=0,c.length=0,u.length=0;for(let g=0;g<n;++g){const n=r*g,h=r*(g+1);t.setPolar(.5,n).add(e),i.setPolar(.5,h).add(e),s.setPolar(1,n),o.setPolar(1,h),a.push(s.real,s.imag,0,1),a.push(o.real,o.imag,0,1),l.push(.5,.5,0,1,t.real,t.imag,0,1,i.real,i.imag,0,1),c.push(0,0,1,0,0,1,0,0,1),u.push(0,0,0,1,s.real,s.imag,0,1,o.real,o.imag,0,1)}a.shrinkToFit(),l.shrinkToFit(),c.shrinkToFit(),u.shrinkToFit()}}()}),o})),t("x_ite/Browser/Geometry2D/Rectangle2DOptions",["x_ite/Fields","x_ite/Base/X3DBaseNode","x_ite/Components/Geometry3D/IndexedFaceSet","x_ite/Components/Rendering/Coordinate","x_ite/Components/Texturing/TextureCoordinate"],(function(e,t,i,n,s){"use strict";function o(e){t.call(this,e)}return o.prototype=Object.assign(Object.create(t.prototype),{constructor:o,getTypeName:function(){return"Rectangle2DOptions"},getComponentName:function(){return"X_ITE"},getContainerField:function(){return"rectangle2DOptions"},initialize:function(){t.prototype.initialize.call(this)},getGeometry:function(){if(this.geometry)return this.geometry;this.geometry=new i(this.getExecutionContext()),this.geometry._texCoord=new s(this.getExecutionContext()),this.geometry._coord=new n(this.getExecutionContext());const t=this.geometry,o=this.geometry._texCoord.getValue(),r=this.geometry._coord.getValue();return t._texCoordIndex=new e.MFInt32(0,1,2,3,-1),t._coordIndex=new e.MFInt32(0,1,2,3,-1),o._point=new e.MFVec2f(new e.SFVec2f(1,1),new e.SFVec2f(0,1),new e.SFVec2f(0,0),new e.SFVec2f(1,0)),r._point=new e.MFVec3f(new e.SFVec3f(1,1,0),new e.SFVec3f(-1,1,0),new e.SFVec3f(-1,-1,0),new e.SFVec3f(1,-1,0)),o.setup(),r.setup(),t.setup(),this.geometry}}),o})),t("x_ite/Browser/Geometry2D/X3DGeometry2DContext",["x_ite/Browser/Geometry2D/Arc2DOptions","x_ite/Browser/Geometry2D/ArcClose2DOptions","x_ite/Browser/Geometry2D/Circle2DOptions","x_ite/Browser/Geometry2D/Disk2DOptions","x_ite/Browser/Geometry2D/Rectangle2DOptions","x_ite/Browser/Core/PrimitiveQuality"],(function(e,t,i,n,s,o){"use strict";function r(){}function a(e,t){const i=new t(this.getPrivateScene());return i.setup(),this[e]=function(){return i},Object.defineProperty(this,e,{enumerable:!1}),i}return r.prototype={initialize:function(){this.setPrimitiveQuality2D(this.getBrowserOptions().getPrimitiveQuality())},getArc2DOptions:function(){return a.call(this,"getArc2DOptions",e)},getArcClose2DOptions:function(){return a.call(this,"getArcClose2DOptions",t)},getCircle2DOptions:function(){return a.call(this,"getCircle2DOptions",i)},getDisk2DOptions:function(){return a.call(this,"getDisk2DOptions",n)},getRectangle2DOptions:function(){return a.call(this,"getRectangle2DOptions",s)},setPrimitiveQuality2D:function(e){const t=this.getArc2DOptions(),i=this.getArcClose2DOptions(),n=this.getCircle2DOptions(),s=this.getDisk2DOptions();switch(e){case o.LOW:t._dimension=20,i._dimension=20,n._dimension=20,s._dimension=20;break;case o.MEDIUM:t._dimension=40,i._dimension=40,n._dimension=40,s._dimension=40;break;case o.HIGH:t._dimension=80,i._dimension=80,n._dimension=80,s._dimension=80}}},r})),t("x_ite/Components/Geometry2D/Arc2D",["x_ite/Fields","x_ite/Base/X3DFieldDefinition","x_ite/Base/FieldDefinitionArray","x_ite/Components/Rendering/X3DLineGeometryNode","x_ite/Base/X3DConstants","standard/Math/Numbers/Complex","standard/Math/Algorithm"],(function(e,t,i,n,s,o,r){"use strict";function a(e){n.call(this,e),this.addType(s.Arc2D),this._startAngle.setUnit("angle"),this._endAngle.setUnit("angle"),this._radius.setUnit("length")}return a.prototype=Object.assign(Object.create(n.prototype),{constructor:a,[Symbol.for("X_ITE.X3DBaseNode.fieldDefinitions")]:new i([new t(s.inputOutput,"metadata",new e.SFNode),new t(s.initializeOnly,"startAngle",new e.SFFloat),new t(s.initializeOnly,"endAngle",new e.SFFloat(1.5708)),new t(s.initializeOnly,"radius",new e.SFFloat(1))]),getTypeName:function(){return"Arc2D"},getComponentName:function(){return"Geometry2D"},getContainerField:function(){return"geometry"},set_live__:function(){n.prototype.set_live__.call(this),this.isLive().getValue()?this.getBrowser().getArc2DOptions().addInterest("requestRebuild",this):this.getBrowser().getArc2DOptions().removeInterest("requestRebuild",this)},getSweepAngle:function(){const e=r.interval(this._startAngle.getValue(),0,2*Math.PI),t=r.interval(this._endAngle.getValue(),0,2*Math.PI);if(e===t)return 2*Math.PI;const i=Math.abs(t-e);return e>t?2*Math.PI-i:isNaN(i)?0:i},build:function(){const e=this.getBrowser().getArc2DOptions()._dimension.getValue(),t=this._startAngle.getValue(),i=Math.abs(this._radius.getValue()),n=this.getSweepAngle(),s=Math.max(3,Math.floor(n*e/(2*Math.PI))),r=this.getVertices();for(let e=0;e<s;++e){const a=t+n*(e/s),l=o.Polar(i,a),c=t+n*((e+1)/s),u=o.Polar(i,c);r.push(l.real,l.imag,0,1),r.push(u.real,u.imag,0,1)}this.getMin().set(-i,-i,0),this.getMax().set(i,i,0)}}),a})),t("x_ite/Components/Geometry2D/ArcClose2D",["x_ite/Fields","x_ite/Base/X3DFieldDefinition","x_ite/Base/FieldDefinitionArray","x_ite/Components/Rendering/X3DGeometryNode","x_ite/Base/X3DConstants","standard/Math/Numbers/Complex","standard/Math/Algorithm"],(function(e,t,i,n,s,o,r){"use strict";function a(e){n.call(this,e),this.addType(s.ArcClose2D),this.setGeometryType(2),this._startAngle.setUnit("angle"),this._endAngle.setUnit("angle"),this._radius.setUnit("length")}return a.prototype=Object.assign(Object.create(n.prototype),{constructor:a,[Symbol.for("X_ITE.X3DBaseNode.fieldDefinitions")]:new i([new t(s.inputOutput,"metadata",new e.SFNode),new t(s.initializeOnly,"closureType",new e.SFString("PIE")),new t(s.initializeOnly,"startAngle",new e.SFFloat),new t(s.initializeOnly,"endAngle",new e.SFFloat(1.5708)),new t(s.initializeOnly,"radius",new e.SFFloat(1)),new t(s.initializeOnly,"solid",new e.SFBool)]),getTypeName:function(){return"ArcClose2D"},getComponentName:function(){return"Geometry2D"},getContainerField:function(){return"geometry"},set_live__:function(){n.prototype.set_live__.call(this),this.isLive().getValue()?this.getBrowser().getArcClose2DOptions().addInterest("requestRebuild",this):this.getBrowser().getArcClose2DOptions().removeInterest("requestRebuild",this)},getSweepAngle:function(){const e=r.interval(this._startAngle.getValue(),0,2*Math.PI),t=r.interval(this._endAngle.getValue(),0,2*Math.PI);if(e===t)return 2*Math.PI;const i=Math.abs(t-e);return e>t?2*Math.PI-i:isNaN(i)?0:i},build:function(){const e=new o(.5,.5);return function(){const t=this.getBrowser().getArcClose2DOptions(),i="CHORD"===this._closureType.getValue(),n=t._dimension.getValue(),s=this._startAngle.getValue(),r=Math.abs(this._radius.getValue()),a=this.getSweepAngle(),l=Math.max(4,Math.floor(a*n/(2*Math.PI))),c=this.getTexCoords(),u=this.getNormals(),g=this.getVertices(),h=[],d=[];this.getMultiTexCoords().push(c);const p=l-1;for(let t=0;t<l;++t){const i=s+a*(t/p);h.push(o.Polar(.5,i).add(e)),d.push(o.Polar(r,i))}if(i){const e=h[0],t=d[0];for(let i=1;i<p;++i){const n=h[i],s=h[i+1],o=d[i],r=d[i+1];c.push(e.real,e.imag,0,1,n.real,n.imag,0,1,s.real,s.imag,0,1),u.push(0,0,1,0,0,1,0,0,1),g.push(t.real,t.imag,0,1,o.real,o.imag,0,1,r.real,r.imag,0,1)}}else for(let e=0;e<p;++e){const t=h[e],i=h[e+1],n=d[e],s=d[e+1];c.push(.5,.5,0,1,t.real,t.imag,0,1,i.real,i.imag,0,1),u.push(0,0,1,0,0,1,0,0,1),g.push(0,0,0,1,n.real,n.imag,0,1,s.real,s.imag,0,1)}this.getMin().set(-r,-r,0),this.getMax().set(r,r,0),this.setSolid(this._solid.getValue())}}()}),a})),t("x_ite/Components/Geometry2D/Circle2D",["x_ite/Fields","x_ite/Base/X3DFieldDefinition","x_ite/Base/FieldDefinitionArray","x_ite/Components/Rendering/X3DLineGeometryNode","x_ite/Base/X3DConstants"],(function(e,t,i,n,s){"use strict";function o(e){n.call(this,e),this.addType(s.Circle2D),this._radius.setUnit("length")}return o.prototype=Object.assign(Object.create(n.prototype),{constructor:o,[Symbol.for("X_ITE.X3DBaseNode.fieldDefinitions")]:new i([new t(s.inputOutput,"metadata",new e.SFNode),new t(s.initializeOnly,"radius",new e.SFFloat(1))]),getTypeName:function(){return"Circle2D"},getComponentName:function(){return"Geometry2D"},getContainerField:function(){return"geometry"},set_live__:function(){n.prototype.set_live__.call(this),this.isLive().getValue()?this.getBrowser().getCircle2DOptions().addInterest("requestRebuild",this):this.getBrowser().getCircle2DOptions().removeInterest("requestRebuild",this)},build:function(){const e=this.getBrowser().getCircle2DOptions(),t=this.getVertices(),i=this._radius.getValue();if(1===i)this.setVertices(e.getVertices());else{const n=e.getVertices().getValue();for(let e=0,s=n.length;e<s;e+=4)t.push(n[e]*i,n[e+1]*i,0,1)}this.getMin().set(-i,-i,0),this.getMax().set(i,i,0)}}),o})),t("x_ite/Components/Geometry2D/Disk2D",["x_ite/Fields","x_ite/Base/X3DFieldDefinition","x_ite/Base/FieldDefinitionArray","x_ite/Components/Rendering/X3DGeometryNode","x_ite/Components/Rendering/X3DLineGeometryNode","x_ite/Components/Rendering/X3DPointGeometryNode","x_ite/Base/X3DConstants"],(function(e,t,i,n,s,o,r){"use strict";function a(e){s.call(this,e),this.addType(r.Disk2D),this._innerRadius.setUnit("length"),this._outerRadius.setUnit("length")}return a.prototype=Object.assign(Object.create(n.prototype),{constructor:a,[Symbol.for("X_ITE.X3DBaseNode.fieldDefinitions")]:new i([new t(r.inputOutput,"metadata",new e.SFNode),new t(r.initializeOnly,"innerRadius",new e.SFFloat),new t(r.initializeOnly,"outerRadius",new e.SFFloat(1)),new t(r.initializeOnly,"solid",new e.SFBool)]),getTypeName:function(){return"Disk2D"},getComponentName:function(){return"Geometry2D"},getContainerField:function(){return"geometry"},initialize:function(){n.prototype.initialize.call(this)},set_live__:function(){n.prototype.set_live__.call(this),this.isLive().getValue()?this.getBrowser().getDisk2DOptions().addInterest("requestRebuild",this):this.getBrowser().getDisk2DOptions().removeInterest("requestRebuild",this)},build:function(){const e=this.getBrowser(),t=e.getContext(),i=e.getDisk2DOptions(),r=Math.min(Math.abs(this._innerRadius.getValue()),Math.abs(this._outerRadius.getValue())),a=Math.max(Math.abs(this._innerRadius.getValue()),Math.abs(this._outerRadius.getValue()));if(r===a){const e=this.getVertices();if(0===a)return e.push(0,0,0,1),this.getMin().set(0,0,0),this.getMax().set(0,0,0),this.setGeometryType(0),this.setPrimitiveMode(t.POINTS),this.setTransparent(!0),void this.setBase(o);if(1===a)this.setVertices(i.getCircleVertices());else{const t=i.getCircleVertices().getValue();for(let i=0,n=t.length;i<n;i+=4)e.push(t[i]*a,t[i+1]*a,0,1)}return this.getMin().set(-a,-a,0),this.getMax().set(a,a,0),this.setGeometryType(1),this.setPrimitiveMode(t.LINES),this.setTransparent(!1),void this.setBase(s)}if(0===r){if(this.getMultiTexCoords().push(i.getDiskTexCoords()),this.setNormals(i.getDiskNormals()),1===a)this.setVertices(i.getDiskVertices());else{const e=i.getDiskVertices().getValue(),t=this.getVertices();for(let i=0,n=e.length;i<n;i+=4)t.push(e[i]*a,e[i+1]*a,0,1)}return this.getMin().set(-a,-a,0),this.getMax().set(a,a,0),this.setGeometryType(2),this.setPrimitiveMode(t.TRIANGLES),this.setTransparent(!1),this.setSolid(this._solid.getValue()),void this.setBase(n)}const l=r/a,c=(1-l)/2,u=i.getDiskTexCoords().getValue(),g=i.getDiskVertices().getValue(),h=this.getTexCoords(),d=this.getNormals(),p=this.getVertices();this.getMultiTexCoords().push(h);for(let e=0,t=g.length;e<t;e+=12)h.push(u[e+4]*l+c,u[e+5]*l+c,0,1,u[e+4],u[e+5],0,1,u[e+8],u[e+9],0,1,u[e+4]*l+c,u[e+5]*l+c,0,1,u[e+8],u[e+9],0,1,u[e+8]*l+c,u[e+9]*l+c,0,1),d.push(0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1),p.push(g[e+4]*r,g[e+5]*r,0,1,g[e+4]*a,g[e+5]*a,0,1,g[e+8]*a,g[e+9]*a,0,1,g[e+4]*r,g[e+5]*r,0,1,g[e+8]*a,g[e+9]*a,0,1,g[e+8]*r,g[e+9]*r,0,1);this.getMin().set(-a,-a,0),this.getMax().set(a,a,0),this.setGeometryType(2),this.setPrimitiveMode(t.TRIANGLES),this.setTransparent(!1),this.setSolid(this._solid.getValue()),this.setBase(n)},setBase:function(e){this.intersectsLine=e.prototype.intersectsLine,this.intersectsBox=e.prototype.intersectsBox,this.display=e.prototype.display,this.displayParticles=e.prototype.displayParticles},setRenderFunctions:function(){}}),a})),t("x_ite/Components/Geometry2D/Polyline2D",["x_ite/Fields","x_ite/Base/X3DFieldDefinition","x_ite/Base/FieldDefinitionArray","x_ite/Components/Rendering/X3DLineGeometryNode","x_ite/Base/X3DConstants"],(function(e,t,i,n,s){"use strict";function o(e){n.call(this,e),this.addType(s.Polyline2D),this._lineSegments.setUnit("length")}return o.prototype=Object.assign(Object.create(n.prototype),{constructor:o,[Symbol.for("X_ITE.X3DBaseNode.fieldDefinitions")]:new i([new t(s.inputOutput,"metadata",new e.SFNode),new t(s.initializeOnly,"lineSegments",new e.MFVec2f)]),getTypeName:function(){return"Polyline2D"},getComponentName:function(){return"Geometry2D"},getContainerField:function(){return"geometry"},build:function(){const e=this._lineSegments.getValue(),t=this.getVertices();for(let i=0,n=2*(this._lineSegments.length-1);i<n;i+=2)t.push(e[i+0],e[i+1],0,1),t.push(e[i+2],e[i+3],0,1)}}),o})),t("x_ite/Components/Geometry2D/Polypoint2D",["x_ite/Fields","x_ite/Base/X3DFieldDefinition","x_ite/Base/FieldDefinitionArray","x_ite/Components/Rendering/X3DPointGeometryNode","x_ite/Base/X3DConstants"],(function(e,t,i,n,s){"use strict";function o(e){n.call(this,e),this.addType(s.Polypoint2D),this._point.setUnit("length")}return o.prototype=Object.assign(Object.create(n.prototype),{constructor:o,[Symbol.for("X_ITE.X3DBaseNode.fieldDefinitions")]:new i([new t(s.inputOutput,"metadata",new e.SFNode),new t(s.inputOutput,"point",new e.MFVec2f)]),getTypeName:function(){return"Polypoint2D"},getComponentName:function(){return"Geometry2D"},getContainerField:function(){return"geometry"},build:function(){const e=this._point.getValue(),t=this.getVertices();for(let i=0,n=2*this._point.length;i<n;i+=2)t.push(e[i],e[i+1],0,1)}}),o})),t("x_ite/Components/Geometry2D/Rectangle2D",["x_ite/Fields","x_ite/Base/X3DFieldDefinition","x_ite/Base/FieldDefinitionArray","x_ite/Components/Rendering/X3DGeometryNode","x_ite/Base/X3DConstants","standard/Math/Numbers/Vector2","standard/Math/Numbers/Vector3"],(function(e,t,i,n,s,o,r){"use strict";function a(e){n.call(this,e),this.addType(s.Rectangle2D),this.setGeometryType(2),this._size.setUnit("length")}return a.prototype=Object.assign(Object.create(n.prototype),{constructor:a,[Symbol.for("X_ITE.X3DBaseNode.fieldDefinitions")]:new i([new t(s.inputOutput,"metadata",new e.SFNode),new t(s.initializeOnly,"size",new e.SFVec2f(2,2)),new t(s.initializeOnly,"solid",new e.SFBool)]),getTypeName:function(){return"Rectangle2D"},getComponentName:function(){return"Geometry2D"},getContainerField:function(){return"geometry"},build:function(){const e=new o(2,2);return function(){const t=this.getBrowser().getRectangle2DOptions().getGeometry(),i=this._size.getValue();if(this.setMultiTexCoords(t.getMultiTexCoords()),this.setNormals(t.getNormals()),i.equals(e))this.setVertices(t.getVertices()),this.getMin().assign(t.getMin()),this.getMax().assign(t.getMax());else{const e=r.divide(i,2),n=e.x,s=e.y,o=t.getVertices().getValue(),a=this.getVertices();for(let e=0;e<o.length;e+=4)a.push(n*o[e],s*o[e+1],0,1);this.getMin().set(-n,-s,0),this.getMax().set(n,s,0)}this.setSolid(this._solid.getValue())}}()}),a})),t("x_ite/Components/Geometry2D/TriangleSet2D",["x_ite/Fields","x_ite/Base/X3DFieldDefinition","x_ite/Base/FieldDefinitionArray","x_ite/Components/Rendering/X3DGeometryNode","x_ite/Base/X3DConstants"],(function(e,t,i,n,s){"use strict";function o(e){n.call(this,e),this.addType(s.TriangleSet2D),this.setGeometryType(2),this._vertices.setUnit("length")}return o.prototype=Object.assign(Object.create(n.prototype),{constructor:o,[Symbol.for("X_ITE.X3DBaseNode.fieldDefinitions")]:new i([new t(s.inputOutput,"metadata",new e.SFNode),new t(s.inputOutput,"vertices",new e.MFVec2f),new t(s.initializeOnly,"solid",new e.SFBool)]),getTypeName:function(){return"TriangleSet2D"},getComponentName:function(){return"Geometry2D"},getContainerField:function(){return"geometry"},build:function(){const e=this._vertices.getValue(),t=this.getNormals(),i=this.getVertices();for(let n=0,s=2*this._vertices.length;n<s;n+=2)t.push(0,0,1),i.push(e[n],e[n+1],0,1);this.setSolid(this._solid.getValue())},buildTexCoords:function(){const e=this.getTexCoords();if(0===e.length){const t=this.getTexCoordParams(),i=t.min,n=t.Ssize,s=this.getVertices().getValue();for(let t=0,o=s.length;t<o;t+=4)e.push((s[t]-i[0])/n,(s[t+1]-i[1])/n,0,1);e.shrinkToFit()}this.getMultiTexCoords().push(e)}}),o})),t(i.getComponentUrl("geometry2d"),["x_ite/Components","x_ite/Browser/Geometry2D/X3DGeometry2DContext","x_ite/Components/Geometry2D/Arc2D","x_ite/Components/Geometry2D/ArcClose2D","x_ite/Components/Geometry2D/Circle2D","x_ite/Components/Geometry2D/Disk2D","x_ite/Components/Geometry2D/Polyline2D","x_ite/Components/Geometry2D/Polypoint2D","x_ite/Components/Geometry2D/Rectangle2D","x_ite/Components/Geometry2D/TriangleSet2D"],(function(e,t,i,n,s,o,r,a,l,c){"use strict";e.addComponent({name:"Geometry2D",types:{Arc2D:i,ArcClose2D:n,Circle2D:s,Disk2D:o,Polyline2D:r,Polypoint2D:a,Rectangle2D:l,TriangleSet2D:c},abstractTypes:{},context:t})}))}();
|