@openglobus/og 0.17.1 → 0.18.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/README.md +75 -46
- package/dist/@openglobus/og.esm.js +1 -20
- package/dist/@openglobus/og.esm.js.map +1 -1
- package/dist/@openglobus/og.umd.js +1 -20
- package/dist/@openglobus/og.umd.js.map +1 -1
- package/dist/@openglobus/res/fonts/Karla-Bold.json +5252 -0
- package/dist/@openglobus/res/fonts/Karla-Bold.ttf.cfg +920 -0
- package/dist/@openglobus/res/fonts/Karla-Bold.ttf.png +0 -0
- package/dist/@openglobus/res/fonts/Karla-Light.json +5252 -0
- package/dist/@openglobus/res/fonts/Karla-Light.ttf.cfg +830 -0
- package/dist/@openglobus/res/fonts/Karla-Light.ttf.png +0 -0
- package/dist/@openglobus/res/fonts/Karla-Medium.json +5252 -0
- package/dist/@openglobus/res/fonts/Karla-Medium.ttf.cfg +1196 -0
- package/dist/@openglobus/res/fonts/Karla-Medium.ttf.png +0 -0
- package/dist/@openglobus/res/fonts/NotoSansArabic-Regular.json +3332 -0
- package/dist/@openglobus/res/fonts/NotoSansArabic-Regular.ttf.cfg +1370 -0
- package/dist/@openglobus/res/fonts/NotoSansArabic-Regular.ttf.png +0 -0
- package/dist/@openglobus/res/fonts/Roboto-Regular.json +37147 -0
- package/dist/@openglobus/res/fonts/Roboto-Regular.ttf.cfg +1340 -0
- package/dist/@openglobus/res/fonts/Roboto-Regular.ttf.png +0 -0
- package/dist/@openglobus/res/fonts/arial.json +4321 -0
- package/dist/@openglobus/res/fonts/arial.ttf.cfg +1570 -0
- package/dist/@openglobus/res/fonts/arial.ttf.png +0 -0
- package/dist/@openglobus/res/night-4326.png +0 -0
- package/dist/@openglobus/res/night.png +0 -0
- package/dist/@openglobus/res/spec.png +0 -0
- package/package.json +25 -23
- package/src/{og/Clock.js → Clock.ts} +100 -78
- package/src/Deferred.ts +17 -0
- package/src/Events.ts +200 -0
- package/src/{og/Extent.js → Extent.ts} +324 -352
- package/src/Globe.ts +363 -0
- package/src/{og/ImageCanvas.js → ImageCanvas.ts} +244 -236
- package/src/Lock.ts +41 -0
- package/src/{og/LonLat.js → LonLat.ts} +50 -47
- package/src/{og/Object3d.js → Object3d.ts} +89 -55
- package/src/Popup.ts +228 -0
- package/src/{og/QueueArray.js → QueueArray.ts} +76 -75
- package/src/{og/Rectangle.js → Rectangle.ts} +115 -111
- package/src/Stack.ts +58 -0
- package/src/{og/astro/astro.js → astro/astro.ts} +49 -51
- package/src/{og/astro/earth.js → astro/earth.ts} +8 -9
- package/src/{og/astro/jd.js → astro/jd.ts} +92 -111
- package/src/{og/astro/orbit.js → astro/orbit.ts} +35 -37
- package/src/{og/astro/rotation.js → astro/rotation.ts} +4 -6
- package/src/{og/bv/Box.js → bv/Box.ts} +21 -17
- package/src/{og/bv/Sphere.js → bv/Sphere.ts} +21 -19
- package/src/bv/index.ts +4 -0
- package/src/{og/camera/Camera.js → camera/Camera.ts} +254 -197
- package/src/{og/camera/Frustum.js → camera/Frustum.ts} +137 -111
- package/src/{og/camera/PlanetCamera.js → camera/PlanetCamera.ts} +248 -185
- package/src/camera/index.ts +4 -0
- package/src/{og/cons.js → cons.ts} +14 -18
- package/src/{og/control/Atmosphere.js → control/Atmosphere.ts} +50 -50
- package/src/{og/control/CompassButton.js → control/CompassButton.ts} +27 -30
- package/src/{og/control/Control.js → control/Control.ts} +76 -70
- package/src/{og/control/DebugInfo.js → control/DebugInfo.ts} +130 -62
- package/src/{og/control/DrawingSwitcher.js → control/DrawingSwitcher.ts} +16 -22
- package/src/control/EarthCoordinates.ts +222 -0
- package/src/control/EarthNavigation.ts +293 -0
- package/src/{og/control/GeoImageDragControl.js → control/GeoImageDragControl.ts} +37 -29
- package/src/control/KeyboardNavigation.ts +168 -0
- package/src/{og/control/LayerAnimation.js → control/LayerAnimation.ts} +74 -90
- package/src/control/LayerSwitcher.ts +76 -0
- package/src/{og/control/Lighting.js → control/Lighting.ts} +158 -120
- package/src/control/MouseNavigation.ts +468 -0
- package/src/control/MouseWheelZoomControl.ts +269 -0
- package/src/{og/control/RulerSwitcher.js → control/RulerSwitcher.ts} +18 -20
- package/src/control/ScaleControl.ts +131 -0
- package/src/control/SegmentBoundVisualization.ts +50 -0
- package/src/control/ShowFps.ts +28 -0
- package/src/control/SimpleNavigation.ts +118 -0
- package/src/{og/control/SimpleSkyBackground.js → control/SimpleSkyBackground.ts} +36 -38
- package/src/{og/control/Sun.js → control/Sun.ts} +56 -64
- package/src/control/ToggleWireframe.ts +35 -0
- package/src/control/TouchNavigation.ts +368 -0
- package/src/control/ZoomControl.ts +111 -0
- package/src/control/drawing/DrawingControl.ts +45 -0
- package/src/{og/control/drawing/LineStringDrawingScene.js → control/drawing/LineStringDrawingScene.ts} +28 -35
- package/src/{og/control/drawing/PolygonDrawingScene.js → control/drawing/PolygonDrawingScene.ts} +148 -201
- package/src/{og/control/elevationProfile/ElevationProfile.js → control/elevationProfile/ElevationProfile.ts} +70 -36
- package/src/control/heightRuler/HeightRuler.ts +16 -0
- package/src/{og/control/heightRuler/HeightRulerScene.js → control/heightRuler/HeightRulerScene.ts} +92 -87
- package/src/{og/control/heightRuler/HeightRulerSwitcher.js → control/heightRuler/HeightRulerSwitcher.ts} +3 -3
- package/src/control/index.ts +45 -0
- package/src/control/ruler/Ruler.ts +35 -0
- package/src/{og/control/ruler/RulerScene.js → control/ruler/RulerScene.ts} +163 -121
- package/src/{og/control/selection/Selection.js → control/selection/Selection.ts} +23 -21
- package/src/{og/control/selection/SelectionScene.js → control/selection/SelectionScene.ts} +64 -50
- package/src/{og/control/timeline/TimelineControl.js → control/timeline/TimelineControl.ts} +37 -28
- package/src/{og/control/timeline/TimelineModel.js → control/timeline/TimelineModel.ts} +50 -35
- package/src/{og/control/timeline/TimelineView.js → control/timeline/TimelineView.ts} +162 -113
- package/src/{og/control/timeline/timelineUtils.js → control/timeline/timelineUtils.ts} +11 -10
- package/src/{og/control → control}/visibleExtent/Segment.js +5 -5
- package/src/{og/control → control}/visibleExtent/VisibleExtent.js +8 -15
- package/src/{og/control/visibleExtent/drawnode.js → control/visibleExtent/drawnode.ts} +1 -3
- package/src/{og/ellipsoid/Ellipsoid.js → ellipsoid/Ellipsoid.ts} +113 -59
- package/src/ellipsoid/index.ts +4 -0
- package/src/{og/ellipsoid/wgs84.js → ellipsoid/wgs84.ts} +1 -3
- package/src/{og/entity/BaseBillboard.js → entity/BaseBillboard.ts} +128 -102
- package/src/entity/BaseBillboardHandler.ts +772 -0
- package/src/{og/entity/Billboard.js → entity/Billboard.ts} +77 -47
- package/src/entity/BillboardHandler.ts +135 -0
- package/src/{og/entity/Entity.js → entity/Entity.ts} +285 -226
- package/src/{og/entity/EntityCollection.js → entity/EntityCollection.ts} +340 -247
- package/src/{og/entity/GeoObject.js → entity/GeoObject.ts} +122 -67
- package/src/{og/entity/GeoObjectHandler.js → entity/GeoObjectHandler.ts} +273 -198
- package/src/entity/Geometry.ts +486 -0
- package/src/{og/entity/GeometryHandler.js → entity/GeometryHandler.ts} +383 -541
- package/src/{og/entity/Label.js → entity/Label.ts} +131 -83
- package/src/{og/entity/LabelHandler.js → entity/LabelHandler.ts} +289 -255
- package/src/{og/entity/LabelWorker.js → entity/LabelWorker.ts} +26 -36
- package/src/{og/entity/PointCloud.js → entity/PointCloud.ts} +200 -164
- package/src/entity/PointCloudHandler.ts +125 -0
- package/src/{og/entity/Polyline.js → entity/Polyline.ts} +517 -539
- package/src/{og/entity/PolylineHandler.js → entity/PolylineHandler.ts} +29 -31
- package/src/{og/entity/Ray.js → entity/Ray.ts} +89 -60
- package/src/{og/entity/RayHandler.js → entity/RayHandler.ts} +201 -306
- package/src/{og/entity/Strip.js → entity/Strip.ts} +143 -100
- package/src/{og/entity/StripHandler.js → entity/StripHandler.ts} +76 -72
- package/src/entity/index.ts +12 -0
- package/src/index.ts +173 -0
- package/src/input/KeyboardHandler.ts +196 -0
- package/src/{og/input/MouseHandler.js → input/MouseHandler.ts} +46 -35
- package/src/input/TouchHandler.ts +54 -0
- package/src/{og/input/input.js → input/input.ts} +1 -3
- package/src/{og/layer/BaseGeoImage.js → layer/BaseGeoImage.ts} +174 -107
- package/src/{og/layer/CanvasTiles.js → layer/CanvasTiles.ts} +139 -105
- package/src/{og/layer/GeoImage.js → layer/GeoImage.ts} +62 -52
- package/src/layer/GeoTexture2d.ts +56 -0
- package/src/{og/layer/GeoVideo.js → layer/GeoVideo.ts} +53 -53
- package/src/{og/layer/KML.js → layer/KML.ts} +63 -74
- package/src/{og/layer/Layer.js → layer/Layer.ts} +399 -223
- package/src/{og/layer/Material.js → layer/Material.ts} +40 -35
- package/src/{og/layer/Vector.js → layer/Vector.ts} +319 -267
- package/src/{og/layer/WMS.js → layer/WMS.ts} +76 -64
- package/src/{og/layer/XYZ.js → layer/XYZ.ts} +123 -98
- package/src/layer/index.ts +12 -0
- package/src/{og/light/LightSource.js → light/LightSource.ts} +132 -93
- package/src/{og/math/Line2.js → math/Line2.ts} +11 -8
- package/src/{og/math/Line3.js → math/Line3.ts} +49 -27
- package/src/{og/math/Mat3.js → math/Mat3.ts} +43 -27
- package/src/{og/math/Mat4.js → math/Mat4.ts} +110 -77
- package/src/{og/math/Plane.js → math/Plane.ts} +28 -23
- package/src/{og/math/Quat.js → math/Quat.ts} +238 -222
- package/src/{og/math/Ray.js → math/Ray.ts} +59 -63
- package/src/{og/math/Vec2.js → math/Vec2.ts} +85 -76
- package/src/{og/math/Vec3.js → math/Vec3.ts} +141 -140
- package/src/{og/math/Vec4.js → math/Vec4.ts} +64 -53
- package/src/{og/math/coder.js → math/coder.ts} +30 -27
- package/src/math/index.ts +26 -0
- package/src/{og/math.js → math.ts} +46 -49
- package/src/{og/mercator.js → mercator.ts} +143 -149
- package/src/{og/proj/EPSG3857.js → proj/EPSG3857.ts} +1 -3
- package/src/{og/proj/EPSG4326.js → proj/EPSG4326.ts} +11 -13
- package/src/{og/proj/Proj.js → proj/Proj.ts} +27 -23
- package/src/{og/quadTree/EPSG4326QuadTreeStrategy.js → quadTree/EPSG4326QuadTreeStrategy.ts} +10 -13
- package/src/{og/quadTree/EarthQuadTreeStrategy.js → quadTree/EarthQuadTreeStrategy.ts} +11 -13
- package/src/quadTree/EntityCollectionNode.ts +395 -0
- package/src/{og/quadTree/MarsQuadTreeStrategy.js → quadTree/MarsQuadTreeStrategy.ts} +10 -13
- package/src/{og/quadTree/Node.js → quadTree/Node.ts} +283 -191
- package/src/{og/quadTree/QuadTreeStrategy.js → quadTree/QuadTreeStrategy.ts} +35 -29
- package/src/quadTree/Wgs84QuadTreeStrategy.ts +22 -0
- package/src/quadTree/index.ts +14 -0
- package/src/{og/quadTree/quadTree.js → quadTree/quadTree.ts} +75 -77
- package/src/{og/renderer/Renderer.js → renderer/Renderer.ts} +454 -298
- package/src/{og/renderer/RendererEvents.js → renderer/RendererEvents.ts} +347 -270
- package/src/{og/scene/Axes.js → scene/Axes.ts} +26 -22
- package/src/{og/scene/BaseNode.js → scene/BaseNode.ts} +53 -47
- package/src/{og/scene/Planet.js → scene/Planet.ts} +777 -595
- package/src/{og/scene/RenderNode.js → scene/RenderNode.ts} +105 -91
- package/src/{og/scene/SkyBox.js → scene/SkyBox.ts} +29 -25
- package/src/scene/index.ts +6 -0
- package/src/{og/segment/Segment.js → segment/Segment.ts} +497 -371
- package/src/{og/segment/SegmentLonLat.js → segment/SegmentLonLat.ts} +81 -87
- package/src/{og/segment/SegmentLonLatWgs84.js → segment/SegmentLonLatWgs84.ts} +9 -16
- package/src/{og/segment/Slice.js → segment/Slice.ts} +15 -9
- package/src/{og/segment/segmentHelper.js → segment/segmentHelper.ts} +57 -49
- package/src/{og/shaders/atmos.js → shaders/atmos.ts} +4 -6
- package/src/{og/shaders/billboard.js → shaders/billboard.ts} +3 -5
- package/src/{og/shaders/bloom.js → shaders/bloom.ts} +2 -4
- package/src/{og/shaders/blur.js → shaders/blur.ts} +4 -7
- package/src/{og/shaders/depth.js → shaders/depth.ts} +1 -3
- package/src/{og/shaders/drawnode.js → shaders/drawnode.ts} +19 -21
- package/src/{og/shaders/geoObject.js → shaders/geoObject.ts} +17 -19
- package/src/{og/shaders/label.js → shaders/label.ts} +4 -6
- package/src/{og/shaders/lumFilter.js → shaders/lumFilter.ts} +2 -4
- package/src/{og/shaders/pickingMask.js → shaders/pickingMask.ts} +2 -4
- package/src/{og/shaders/pointCloud.js → shaders/pointCloud.ts} +7 -10
- package/src/{og/shaders/polyline.js → shaders/polyline.ts} +3 -200
- package/src/{og/shaders/ray.js → shaders/ray.ts} +2 -4
- package/src/{og/shaders/screenFrame.js → shaders/screenFrame.ts} +2 -4
- package/src/{og/shaders/skybox.js → shaders/skybox.ts} +7 -9
- package/src/{og/shaders/toneMapping.js → shaders/toneMapping.ts} +2 -4
- package/src/{og/shaders/utils.js → shaders/utils.ts} +0 -2
- package/src/{og/terrain/BilTerrain.js → terrain/BilTerrain.ts} +38 -32
- package/src/terrain/EmptyTerrain.ts +230 -0
- package/src/{og/terrain/Geoid.js → terrain/Geoid.ts} +67 -41
- package/src/{og/terrain/GlobusTerrain.js → terrain/GlobusTerrain.ts} +159 -153
- package/src/{og/terrain/MapboxTerrain.js → terrain/MapboxTerrain.ts} +58 -61
- package/src/terrain/index.ts +6 -0
- package/src/ui/Button.ts +121 -0
- package/src/ui/ButtonGroup.ts +63 -0
- package/src/ui/Dialog.ts +244 -0
- package/src/ui/Slider.ts +188 -0
- package/src/ui/ToggleButton.ts +68 -0
- package/src/{og/ui/View.js → ui/View.ts} +66 -59
- package/src/utils/BaseWorker.ts +60 -0
- package/src/utils/FontAtlas.ts +356 -0
- package/src/{og/utils/GeoImageCreator.js → utils/GeoImageCreator.ts} +45 -29
- package/src/{og/utils/ImagesCacheManager.js → utils/ImagesCacheManager.ts} +85 -70
- package/src/utils/Loader.ts +247 -0
- package/src/{og/utils/NormalMapCreator.js → utils/NormalMapCreator.ts} +114 -77
- package/src/{og/utils/PlainSegmentWorker.js → utils/PlainSegmentWorker.ts} +41 -24
- package/src/{og/utils/TerrainWorker.js → utils/TerrainWorker.ts} +51 -36
- package/src/utils/TextureAtlas.ts +322 -0
- package/src/{og/utils/VectorTileCreator.js → utils/VectorTileCreator.ts} +67 -52
- package/src/{og/utils/colorTable.js → utils/colorTable.ts} +142 -144
- package/src/{og/utils/earcut.js → utils/earcut.ts} +664 -661
- package/src/{og/utils/objParser.js → utils/objParser.ts} +66 -37
- package/src/{og/utils/shared.js → utils/shared.ts} +267 -206
- package/src/utils/units.ts +78 -0
- package/src/webgl/BaseFramebuffer.ts +125 -0
- package/src/webgl/Framebuffer.ts +206 -0
- package/src/webgl/Handler.ts +1414 -0
- package/src/webgl/Multisample.ts +153 -0
- package/src/webgl/Program.ts +451 -0
- package/src/{og/webgl/ProgramController.js → webgl/ProgramController.ts} +44 -43
- package/src/webgl/index.ts +13 -0
- package/src/{og/webgl/types.js → webgl/types.ts} +29 -31
- package/src/webgl/variableHandlers.ts +114 -0
- package/src/og/Deferred.js +0 -11
- package/src/og/Events.js +0 -185
- package/src/og/Globe.js +0 -342
- package/src/og/Lock.js +0 -44
- package/src/og/Popup.js +0 -187
- package/src/og/Stack.js +0 -49
- package/src/og/bv/index.js +0 -4
- package/src/og/camera/index.js +0 -4
- package/src/og/control/EarthCoordinates.js +0 -214
- package/src/og/control/EarthNavigation.js +0 -258
- package/src/og/control/KeyboardNavigation.js +0 -149
- package/src/og/control/LayerSwitcher.js +0 -424
- package/src/og/control/MouseNavigation.js +0 -436
- package/src/og/control/MouseWheelZoomControl.js +0 -253
- package/src/og/control/ScaleControl.js +0 -119
- package/src/og/control/SegmentBoundVisualization.js +0 -54
- package/src/og/control/ShowFps.js +0 -40
- package/src/og/control/SimpleNavigation.js +0 -123
- package/src/og/control/ToggleWireframe.js +0 -35
- package/src/og/control/TouchNavigation.js +0 -350
- package/src/og/control/ZoomControl.js +0 -115
- package/src/og/control/drawing/DrawingControl.js +0 -51
- package/src/og/control/heightRuler/HeightRuler.js +0 -12
- package/src/og/control/index.js +0 -56
- package/src/og/control/ruler/Ruler.js +0 -39
- package/src/og/ellipsoid/index.js +0 -4
- package/src/og/entity/BillboardHandler.js +0 -883
- package/src/og/entity/Geometry.js +0 -320
- package/src/og/entity/PointCloudHandler.js +0 -122
- package/src/og/entity/index.js +0 -9
- package/src/og/index.js +0 -112
- package/src/og/input/KeyboardHandler.js +0 -128
- package/src/og/input/TouchHandler.js +0 -59
- package/src/og/layer/GeoTexture2d.js +0 -50
- package/src/og/layer/index.js +0 -11
- package/src/og/math/index.js +0 -23
- package/src/og/quadTree/EntityCollectionNode.js +0 -391
- package/src/og/quadTree/Wgs84QuadTreeStrategy.js +0 -27
- package/src/og/quadTree/index.js +0 -14
- package/src/og/res/images.js +0 -8
- package/src/og/scene/index.js +0 -5
- package/src/og/terrain/EmptyTerrain.js +0 -174
- package/src/og/terrain/index.js +0 -6
- package/src/og/ui/Button.js +0 -107
- package/src/og/ui/ButtonGroup.js +0 -57
- package/src/og/ui/Dialog.js +0 -239
- package/src/og/ui/Slider.js +0 -170
- package/src/og/ui/ToggleButton.js +0 -51
- package/src/og/ui/UIhelpers.js +0 -155
- package/src/og/utils/BaseWorker.js +0 -46
- package/src/og/utils/FontAtlas.js +0 -218
- package/src/og/utils/Loader.js +0 -188
- package/src/og/utils/TextureAtlas.js +0 -291
- package/src/og/utils/functionComposition.js +0 -13
- package/src/og/utils/units.js +0 -78
- package/src/og/webgl/Framebuffer.js +0 -311
- package/src/og/webgl/Handler.js +0 -1168
- package/src/og/webgl/Multisample.js +0 -275
- package/src/og/webgl/Program.js +0 -407
- package/src/og/webgl/callbacks.js +0 -98
- package/src/og/webgl/index.js +0 -13
- package/src/og.jsdoc +0 -3
- package/types/Clock.d.ts +0 -99
- package/types/Deferred.d.ts +0 -6
- package/types/Events.d.ts +0 -78
- package/types/Extent.d.ts +0 -166
- package/types/Globe.d.ts +0 -108
- package/types/ImageCanvas.d.ts +0 -128
- package/types/Lock.d.ts +0 -12
- package/types/LonLat.d.ts +0 -127
- package/types/Object3d.d.ts +0 -35
- package/types/Popup.d.ts +0 -29
- package/types/QueueArray.d.ts +0 -19
- package/types/Rectangle.d.ts +0 -80
- package/types/Stack.d.ts +0 -19
- package/types/arial.d.ts +0 -49
- package/types/astro/astro.d.ts +0 -38
- package/types/astro/earth.d.ts +0 -7
- package/types/astro/jd.d.ts +0 -254
- package/types/bv/Box.d.ts +0 -30
- package/types/bv/Sphere.d.ts +0 -38
- package/types/bv/index.d.ts +0 -3
- package/types/camera/Camera.d.ts +0 -314
- package/types/camera/Frustum.d.ts +0 -133
- package/types/camera/PlanetCamera.d.ts +0 -219
- package/types/camera/index.d.ts +0 -3
- package/types/cons.d.ts +0 -40
- package/types/control/Atmosphere.d.ts +0 -15
- package/types/control/CompassButton.d.ts +0 -16
- package/types/control/Control.d.ts +0 -104
- package/types/control/DebugInfo.d.ts +0 -19
- package/types/control/DrawingSwitcher.d.ts +0 -13
- package/types/control/EarthCoordinates.d.ts +0 -44
- package/types/control/EarthNavigation.d.ts +0 -43
- package/types/control/GeoImageDragControl.d.ts +0 -14
- package/types/control/KeyboardNavigation.d.ts +0 -24
- package/types/control/LayerAnimation.d.ts +0 -73
- package/types/control/LayerSwitcher.d.ts +0 -64
- package/types/control/Lighting.d.ts +0 -41
- package/types/control/MouseNavigation.d.ts +0 -49
- package/types/control/MouseWheelZoomControl.d.ts +0 -46
- package/types/control/ScaleControl.d.ts +0 -23
- package/types/control/ShowFps.d.ts +0 -11
- package/types/control/SimpleNavigation.d.ts +0 -26
- package/types/control/SimpleSkyBackground.d.ts +0 -15
- package/types/control/Sun.d.ts +0 -53
- package/types/control/ToggleWireframe.d.ts +0 -12
- package/types/control/TouchNavigation.d.ts +0 -54
- package/types/control/ZoomControl.d.ts +0 -26
- package/types/control/drawing/DrawingControl.d.ts +0 -14
- package/types/control/drawing/LineStringDrawingScene.d.ts +0 -5
- package/types/control/drawing/PolygonDrawingScene.d.ts +0 -99
- package/types/control/heightRuler/HeightRuler.d.ts +0 -6
- package/types/control/heightRuler/HeightRulerScene.d.ts +0 -23
- package/types/control/index.d.ts +0 -27
- package/types/control/ruler/Ruler.d.ts +0 -13
- package/types/control/ruler/RulerScene.d.ts +0 -51
- package/types/control/selection/Selection.d.ts +0 -49
- package/types/control/selection/SelectionScene.d.ts +0 -32
- package/types/control/timeline/TimelineControl.d.ts +0 -10
- package/types/control/timeline/TimelineModel.d.ts +0 -33
- package/types/control/timeline/TimelineView.d.ts +0 -57
- package/types/control/timeline/timelineUtils.d.ts +0 -9
- package/types/ellipsoid/Ellipsoid.d.ts +0 -170
- package/types/ellipsoid/index.d.ts +0 -3
- package/types/ellipsoid/wgs84.d.ts +0 -6
- package/types/entity/BaseBillboard.d.ts +0 -215
- package/types/entity/Billboard.d.ts +0 -94
- package/types/entity/BillboardHandler.d.ts +0 -75
- package/types/entity/Entity.d.ts +0 -340
- package/types/entity/EntityCollection.d.ts +0 -303
- package/types/entity/GeoObject.d.ts +0 -117
- package/types/entity/GeoObjectHandler.d.ts +0 -41
- package/types/entity/Geometry.d.ts +0 -79
- package/types/entity/GeometryHandler.d.ts +0 -76
- package/types/entity/Label.d.ts +0 -190
- package/types/entity/LabelHandler.d.ts +0 -31
- package/types/entity/LabelWorker.d.ts +0 -9
- package/types/entity/PointCloud.d.ts +0 -174
- package/types/entity/PointCloudHandler.d.ts +0 -38
- package/types/entity/Polyline.d.ts +0 -307
- package/types/entity/PolylineHandler.d.ts +0 -18
- package/types/entity/Ray.d.ts +0 -122
- package/types/entity/RayHandler.d.ts +0 -63
- package/types/entity/Strip.d.ts +0 -119
- package/types/entity/StripHandler.d.ts +0 -38
- package/types/entity/index.d.ts +0 -8
- package/types/index.d.ts +0 -53
- package/types/input/KeyboardHandler.d.ts +0 -10
- package/types/input/MouseHandler.d.ts +0 -5
- package/types/input/TouchHandler.d.ts +0 -5
- package/types/input/input.d.ts +0 -42
- package/types/layer/BaseGeoImage.d.ts +0 -116
- package/types/layer/CanvasTiles.d.ts +0 -73
- package/types/layer/GeoImage.d.ts +0 -51
- package/types/layer/GeoTexture2d.d.ts +0 -7
- package/types/layer/GeoVideo.d.ts +0 -47
- package/types/layer/KML.d.ts +0 -93
- package/types/layer/Layer.d.ts +0 -320
- package/types/layer/Material.d.ts +0 -45
- package/types/layer/Vector.d.ts +0 -211
- package/types/layer/WMS.d.ts +0 -66
- package/types/layer/XYZ.d.ts +0 -122
- package/types/layer/index.d.ts +0 -10
- package/types/light/LightSource.d.ts +0 -178
- package/types/math/Line2.d.ts +0 -11
- package/types/math/Line3.d.ts +0 -10
- package/types/math/Mat3.d.ts +0 -65
- package/types/math/Mat4.d.ts +0 -176
- package/types/math/Plane.d.ts +0 -18
- package/types/math/Quat.d.ts +0 -379
- package/types/math/Ray.d.ts +0 -82
- package/types/math/Vec2.d.ts +0 -309
- package/types/math/Vec3.d.ts +0 -472
- package/types/math/Vec4.d.ts +0 -161
- package/types/math/coder.d.ts +0 -43
- package/types/math/index.d.ts +0 -11
- package/types/math.d.ts +0 -268
- package/types/mercator.d.ts +0 -92
- package/types/proj/EPSG3857.d.ts +0 -6
- package/types/proj/EPSG4326.d.ts +0 -6
- package/types/proj/Proj.d.ts +0 -42
- package/types/quadTree/EPSG4326QuadTreeStrategy.d.ts +0 -3
- package/types/quadTree/EarthQuadTreeStrategy.d.ts +0 -3
- package/types/quadTree/EntityCollectionNode.d.ts +0 -41
- package/types/quadTree/MarsQuadTreeStrategy.d.ts +0 -3
- package/types/quadTree/Node.d.ts +0 -58
- package/types/quadTree/QuadTreeStrategy.d.ts +0 -21
- package/types/quadTree/Wgs84QuadTreeStrategy.d.ts +0 -3
- package/types/quadTree/index.d.ts +0 -12
- package/types/quadTree/quadTree.d.ts +0 -40
- package/types/renderer/Renderer.d.ts +0 -291
- package/types/renderer/RendererEvents.d.ts +0 -255
- package/types/res/images.d.ts +0 -2
- package/types/scene/Axes.d.ts +0 -10
- package/types/scene/BaseNode.d.ts +0 -60
- package/types/scene/Planet.d.ts +0 -595
- package/types/scene/RenderNode.d.ts +0 -152
- package/types/scene/SkyBox.d.ts +0 -9
- package/types/scene/index.d.ts +0 -4
- package/types/segment/Segment.d.ts +0 -273
- package/types/segment/SegmentLonLat.d.ts +0 -22
- package/types/segment/SegmentLonLatWgs84.d.ts +0 -4
- package/types/segment/Slice.d.ts +0 -10
- package/types/segment/segmentHelper.d.ts +0 -13
- package/types/shaders/atmos.d.ts +0 -4
- package/types/shaders/billboard.d.ts +0 -3
- package/types/shaders/depth.d.ts +0 -2
- package/types/shaders/drawnode.d.ts +0 -8
- package/types/shaders/geoObject.d.ts +0 -3
- package/types/shaders/label.d.ts +0 -4
- package/types/shaders/pickingMask.d.ts +0 -2
- package/types/shaders/pointCloud.d.ts +0 -2
- package/types/shaders/polyline.d.ts +0 -3
- package/types/shaders/ray.d.ts +0 -2
- package/types/shaders/screenFrame.d.ts +0 -2
- package/types/shaders/skybox.d.ts +0 -2
- package/types/shaders/toneMapping.d.ts +0 -2
- package/types/shaders/utils.d.ts +0 -1
- package/types/terrain/BilTerrain.d.ts +0 -14
- package/types/terrain/EmptyTerrain.d.ts +0 -87
- package/types/terrain/Geoid.d.ts +0 -17
- package/types/terrain/GlobusTerrain.d.ts +0 -122
- package/types/terrain/MapboxTerrain.d.ts +0 -14
- package/types/terrain/index.d.ts +0 -5
- package/types/ui/Button.d.ts +0 -21
- package/types/ui/ButtonGroup.d.ts +0 -12
- package/types/ui/Dialog.d.ts +0 -41
- package/types/ui/Slider.d.ts +0 -33
- package/types/ui/ToggleButton.d.ts +0 -10
- package/types/ui/UIhelpers.d.ts +0 -13
- package/types/ui/View.d.ts +0 -33
- package/types/ui/icons.d.ts +0 -1
- package/types/utils/BaseWorker.d.ts +0 -14
- package/types/utils/FontAtlas.d.ts +0 -16
- package/types/utils/GeoImageCreator.d.ts +0 -30
- package/types/utils/ImagesCacheManager.d.ts +0 -10
- package/types/utils/Loader.d.ts +0 -31
- package/types/utils/NormalMapCreator.d.ts +0 -39
- package/types/utils/PlainSegmentWorker.d.ts +0 -8
- package/types/utils/TerrainWorker.d.ts +0 -7
- package/types/utils/TextureAtlas.d.ts +0 -113
- package/types/utils/VectorTileCreator.d.ts +0 -14
- package/types/utils/colorTable.d.ts +0 -143
- package/types/utils/earcut.d.ts +0 -6
- package/types/utils/functionComposition.d.ts +0 -5
- package/types/utils/objParser.d.ts +0 -8
- package/types/utils/shared.d.ts +0 -241
- package/types/utils/units.d.ts +0 -20
- package/types/webgl/Framebuffer.d.ts +0 -134
- package/types/webgl/Handler.d.ts +0 -403
- package/types/webgl/Multisample.d.ts +0 -91
- package/types/webgl/Program.d.ts +0 -163
- package/types/webgl/ProgramController.d.ts +0 -89
- package/types/webgl/callbacks.d.ts +0 -1
- package/types/webgl/index.d.ts +0 -6
- package/types/webgl/types.d.ts +0 -2
- /package/{src/og → dist/@openglobus/res/fonts}/arial.js +0 -0
- /package/src/{og/ui/icons.js → ui/icons.ts} +0 -0
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
1
|
+
import {BaseNode} from "./BaseNode";
|
|
2
|
+
import {Renderer} from "../renderer/Renderer";
|
|
3
|
+
import {LightSource} from "../light/LightSource";
|
|
4
|
+
import {EntityCollection} from "../entity/EntityCollection";
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* Render node is a logical part of a render mechanism. Represents scene rendering.
|
|
8
8
|
* For example one scene node for rendering the Earth, another one for rendering the Moon, another node for rendering stars etc.
|
|
9
9
|
* Each render node has own model view space defined with matrices(scale, rotation, translation, transformation).
|
|
10
|
-
* There are collections of
|
|
10
|
+
* There are collections of light sources, entities and so on in the node.
|
|
11
11
|
* Access to the node is renderer.renderNodes["Earth"]
|
|
12
12
|
* @class
|
|
13
13
|
* @extends {BaseNode}
|
|
@@ -15,53 +15,76 @@ import { BaseNode } from "./BaseNode.js";
|
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
17
|
class RenderNode extends BaseNode {
|
|
18
|
-
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Renderer that calls frame() callback.
|
|
21
|
+
* @public
|
|
22
|
+
* @type {Renderer}
|
|
23
|
+
*/
|
|
24
|
+
public renderer: Renderer | null;
|
|
25
|
+
|
|
26
|
+
public drawMode: number;
|
|
27
|
+
|
|
28
|
+
/** Show rendering.
|
|
29
|
+
* @public
|
|
30
|
+
*/
|
|
31
|
+
public show: boolean;
|
|
32
|
+
|
|
33
|
+
protected _isActive: boolean;
|
|
34
|
+
|
|
35
|
+
public override childNodes: RenderNode[];
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Lighting calculations.
|
|
39
|
+
* @public
|
|
40
|
+
* @type {boolean}
|
|
41
|
+
*/
|
|
42
|
+
public lightEnabled: boolean;
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Point light array.
|
|
46
|
+
* @public
|
|
47
|
+
* @type {Array.<LightSource>}
|
|
48
|
+
*/
|
|
49
|
+
public _lights: LightSource[];
|
|
50
|
+
public _lightsNames: string[];
|
|
51
|
+
public _lightsPositions: number[];
|
|
52
|
+
public _lightsParamsv: number[];
|
|
53
|
+
public _lightsParamsf: number[];
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* Entity collection array.
|
|
57
|
+
* @public
|
|
58
|
+
* @type {Array.<EntityCollection>}
|
|
59
|
+
*/
|
|
60
|
+
public entityCollections: EntityCollection[];
|
|
61
|
+
|
|
62
|
+
protected _pickingId: number;
|
|
63
|
+
|
|
64
|
+
constructor(name?: string) {
|
|
19
65
|
super(name);
|
|
20
66
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
* @public
|
|
24
|
-
* @type {Renderer}
|
|
25
|
-
*/
|
|
67
|
+
this.childNodes = [];
|
|
68
|
+
|
|
26
69
|
this.renderer = null;
|
|
27
70
|
|
|
28
|
-
this.drawMode =
|
|
71
|
+
this.drawMode = 0;
|
|
29
72
|
|
|
30
|
-
/** Show rendering.
|
|
31
|
-
* @public
|
|
32
|
-
*/
|
|
33
73
|
this.show = true;
|
|
34
74
|
|
|
35
75
|
this._isActive = true;
|
|
36
76
|
|
|
37
|
-
/**
|
|
38
|
-
* Lighting calculations.
|
|
39
|
-
* @public
|
|
40
|
-
* @type {boolean}
|
|
41
|
-
*/
|
|
42
77
|
this.lightEnabled = false;
|
|
43
78
|
|
|
44
|
-
/**
|
|
45
|
-
* Point light array.
|
|
46
|
-
* @private
|
|
47
|
-
* @type {Array.<LightSource>}
|
|
48
|
-
*/
|
|
49
79
|
this._lights = [];
|
|
80
|
+
this._lightsNames = [];
|
|
50
81
|
this._lightsPositions = [];
|
|
51
82
|
this._lightsParamsv = [];
|
|
52
83
|
this._lightsParamsf = [];
|
|
53
|
-
this._lightsNames = [];
|
|
54
84
|
|
|
55
|
-
/**
|
|
56
|
-
* Entity collection array.
|
|
57
|
-
* @public
|
|
58
|
-
* @type {Array.<EntityCollection>}
|
|
59
|
-
*/
|
|
60
85
|
this.entityCollections = [];
|
|
61
86
|
|
|
62
87
|
this._pickingId = -1;
|
|
63
|
-
|
|
64
|
-
this.events = new Events(null, this);
|
|
65
88
|
}
|
|
66
89
|
|
|
67
90
|
/**
|
|
@@ -69,24 +92,24 @@ class RenderNode extends BaseNode {
|
|
|
69
92
|
* @public
|
|
70
93
|
* @type {RenderNode}
|
|
71
94
|
*/
|
|
72
|
-
addNode(node) {
|
|
95
|
+
public override addNode(node: RenderNode) {
|
|
73
96
|
super.addNode(node);
|
|
74
|
-
node.assign(this.renderer);
|
|
97
|
+
this.renderer && node.assign(this.renderer);
|
|
75
98
|
}
|
|
76
99
|
|
|
77
100
|
/**
|
|
78
101
|
* Assign render node with renderer.
|
|
79
102
|
* @public
|
|
80
|
-
* @param {Renderer} renderer -
|
|
103
|
+
* @param {Renderer} renderer - Render node's renderer.
|
|
81
104
|
*/
|
|
82
|
-
assign(renderer) {
|
|
105
|
+
public assign(renderer: Renderer) {
|
|
83
106
|
this.renderer = renderer;
|
|
84
107
|
this._pickingId = renderer.addPickingCallback(this, this._entityCollectionPickingCallback);
|
|
85
108
|
this.initialize();
|
|
86
109
|
}
|
|
87
110
|
|
|
88
|
-
initialize() {
|
|
89
|
-
if (this.renderer.isInitialized()) {
|
|
111
|
+
public initialize() {
|
|
112
|
+
if (this.renderer && this.renderer.isInitialized()) {
|
|
90
113
|
for (let i = 0; i < this.entityCollections.length; i++) {
|
|
91
114
|
this.entityCollections[i].bindRenderNode(this);
|
|
92
115
|
}
|
|
@@ -94,20 +117,22 @@ class RenderNode extends BaseNode {
|
|
|
94
117
|
}
|
|
95
118
|
}
|
|
96
119
|
|
|
97
|
-
init() {
|
|
120
|
+
public init() {
|
|
98
121
|
//virtual
|
|
99
122
|
}
|
|
100
123
|
|
|
101
|
-
onremove() {
|
|
124
|
+
public onremove() {
|
|
102
125
|
//virtual
|
|
103
126
|
}
|
|
104
127
|
|
|
105
|
-
remove() {
|
|
106
|
-
|
|
128
|
+
public remove() {
|
|
129
|
+
let r = this.renderer,
|
|
107
130
|
n = this.name;
|
|
108
131
|
|
|
109
132
|
if (r) {
|
|
133
|
+
// TODO: replace to renderer
|
|
110
134
|
if (r.renderNodes[n] && r.renderNodes[n].isEqual(this)) {
|
|
135
|
+
// @ts-ignore
|
|
111
136
|
r.renderNodes[n] = null;
|
|
112
137
|
delete r.renderNodes[n];
|
|
113
138
|
}
|
|
@@ -131,7 +156,7 @@ class RenderNode extends BaseNode {
|
|
|
131
156
|
* @param {boolean} [isHidden] - If it's true that this collection has specific rendering.
|
|
132
157
|
* @returns {RenderNode} -
|
|
133
158
|
*/
|
|
134
|
-
addEntityCollection(entityCollection, isHidden) {
|
|
159
|
+
public addEntityCollection(entityCollection: EntityCollection, isHidden?: boolean): RenderNode {
|
|
135
160
|
entityCollection.addTo(this, isHidden);
|
|
136
161
|
return this;
|
|
137
162
|
}
|
|
@@ -141,7 +166,7 @@ class RenderNode extends BaseNode {
|
|
|
141
166
|
* @public
|
|
142
167
|
* @param {EntityCollection} entityCollection - Entity collection for remove.
|
|
143
168
|
*/
|
|
144
|
-
removeEntityCollection(entityCollection) {
|
|
169
|
+
public removeEntityCollection(entityCollection: EntityCollection) {
|
|
145
170
|
entityCollection.remove();
|
|
146
171
|
}
|
|
147
172
|
|
|
@@ -151,7 +176,7 @@ class RenderNode extends BaseNode {
|
|
|
151
176
|
* @param {LightSource} light - Light source.
|
|
152
177
|
* @returns {RenderNode}
|
|
153
178
|
*/
|
|
154
|
-
addLight(light) {
|
|
179
|
+
public addLight(light: LightSource): RenderNode {
|
|
155
180
|
light.addTo(this);
|
|
156
181
|
return this;
|
|
157
182
|
}
|
|
@@ -162,8 +187,8 @@ class RenderNode extends BaseNode {
|
|
|
162
187
|
* @param {string} name - Point light name.
|
|
163
188
|
* @returns {LightSource}
|
|
164
189
|
*/
|
|
165
|
-
getLightByName(name) {
|
|
166
|
-
|
|
190
|
+
public getLightByName(name: string): LightSource | undefined {
|
|
191
|
+
let li = this._lightsNames.indexOf(name);
|
|
167
192
|
return this._lights[li];
|
|
168
193
|
}
|
|
169
194
|
|
|
@@ -172,7 +197,7 @@ class RenderNode extends BaseNode {
|
|
|
172
197
|
* @public
|
|
173
198
|
* @param {LightSource} light - Light source object.
|
|
174
199
|
*/
|
|
175
|
-
removeLight(light) {
|
|
200
|
+
public removeLight(light: LightSource) {
|
|
176
201
|
light.remove();
|
|
177
202
|
}
|
|
178
203
|
|
|
@@ -180,8 +205,8 @@ class RenderNode extends BaseNode {
|
|
|
180
205
|
* Calls render frame node's callback. Used in renderer.
|
|
181
206
|
* @public
|
|
182
207
|
*/
|
|
183
|
-
preDrawNode(
|
|
184
|
-
this._isActive && this._preDrawNodes(
|
|
208
|
+
public preDrawNode() {
|
|
209
|
+
this._isActive && this._preDrawNodes();
|
|
185
210
|
}
|
|
186
211
|
|
|
187
212
|
|
|
@@ -189,8 +214,8 @@ class RenderNode extends BaseNode {
|
|
|
189
214
|
* Calls render frame node's callback. Used in renderer.
|
|
190
215
|
* @public
|
|
191
216
|
*/
|
|
192
|
-
drawNode(
|
|
193
|
-
this._isActive && this._drawNodes(
|
|
217
|
+
public drawNode() {
|
|
218
|
+
this._isActive && this._drawNodes();
|
|
194
219
|
}
|
|
195
220
|
|
|
196
221
|
/**
|
|
@@ -198,7 +223,7 @@ class RenderNode extends BaseNode {
|
|
|
198
223
|
* @public
|
|
199
224
|
* @returns {Boolean} -
|
|
200
225
|
*/
|
|
201
|
-
isActive() {
|
|
226
|
+
public isActive(): boolean {
|
|
202
227
|
return this._isActive;
|
|
203
228
|
}
|
|
204
229
|
|
|
@@ -207,7 +232,7 @@ class RenderNode extends BaseNode {
|
|
|
207
232
|
* @public
|
|
208
233
|
* @param {boolean} isActive - Activation flag.
|
|
209
234
|
*/
|
|
210
|
-
setActive(isActive) {
|
|
235
|
+
public setActive(isActive: boolean) {
|
|
211
236
|
this._isActive = isActive;
|
|
212
237
|
|
|
213
238
|
if (this.renderer) {
|
|
@@ -234,7 +259,7 @@ class RenderNode extends BaseNode {
|
|
|
234
259
|
* @public
|
|
235
260
|
* @param {Number} mode - Draw mode, such as gl.TRIANGLES, gl.TRIANGLE_STRIP, gl.LINES etc.
|
|
236
261
|
*/
|
|
237
|
-
setDrawMode(mode) {
|
|
262
|
+
public setDrawMode(mode: number) {
|
|
238
263
|
this.drawMode = mode;
|
|
239
264
|
for (let i = 0; i < this.childNodes.length; i++) {
|
|
240
265
|
this.childNodes[i].setDrawMode(mode);
|
|
@@ -242,14 +267,13 @@ class RenderNode extends BaseNode {
|
|
|
242
267
|
}
|
|
243
268
|
|
|
244
269
|
/**
|
|
245
|
-
* IMPORTANT: This function have to be called
|
|
270
|
+
* IMPORTANT: This function have to be called manually in each render node frame callback, before drawing scene geometry.
|
|
246
271
|
* @public
|
|
247
272
|
*/
|
|
248
|
-
transformLights() {
|
|
249
|
-
var r = this.renderer;
|
|
273
|
+
public transformLights() {
|
|
250
274
|
for (let i = 0; i < this._lights.length; i++) {
|
|
251
|
-
|
|
252
|
-
|
|
275
|
+
let ii = i * 3;
|
|
276
|
+
let tp;
|
|
253
277
|
tp = this._lights[i]._position;
|
|
254
278
|
this._lightsPositions[ii] = tp.x;
|
|
255
279
|
this._lightsPositions[ii + 1] = tp.y;
|
|
@@ -272,30 +296,27 @@ class RenderNode extends BaseNode {
|
|
|
272
296
|
// }
|
|
273
297
|
}
|
|
274
298
|
|
|
275
|
-
updateBillboardsTexCoords() {
|
|
299
|
+
public updateBillboardsTexCoords() {
|
|
276
300
|
for (let i = 0; i < this.entityCollections.length; i++) {
|
|
277
301
|
this.entityCollections[i].billboardHandler.refreshTexCoordsArr();
|
|
278
302
|
}
|
|
279
303
|
}
|
|
280
304
|
|
|
281
|
-
updateGeoObjectsTexCoords() {
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
}
|
|
286
|
-
|
|
287
|
-
frame() {
|
|
305
|
+
// public updateGeoObjectsTexCoords() {
|
|
306
|
+
// for (let i = 0; i < this.entityCollections.length; i++) {
|
|
307
|
+
// this.entityCollections[i].geoObjectHandler.refreshTexCoordsArr();
|
|
308
|
+
// }
|
|
309
|
+
// }
|
|
288
310
|
|
|
311
|
+
public frame() {
|
|
312
|
+
// virtual
|
|
289
313
|
}
|
|
290
314
|
|
|
291
|
-
preFrame() {
|
|
292
|
-
|
|
315
|
+
public preFrame() {
|
|
316
|
+
// virtual
|
|
293
317
|
}
|
|
294
318
|
|
|
295
|
-
|
|
296
|
-
* @private
|
|
297
|
-
*/
|
|
298
|
-
_preDrawNodes() {
|
|
319
|
+
protected _preDrawNodes() {
|
|
299
320
|
for (let i = 0; i < this.childNodes.length; i++) {
|
|
300
321
|
if (this.childNodes[i]._isActive) {
|
|
301
322
|
this.childNodes[i]._preDrawNodes();
|
|
@@ -309,10 +330,7 @@ class RenderNode extends BaseNode {
|
|
|
309
330
|
}
|
|
310
331
|
}
|
|
311
332
|
|
|
312
|
-
|
|
313
|
-
* @private
|
|
314
|
-
*/
|
|
315
|
-
_drawNodes() {
|
|
333
|
+
protected _drawNodes() {
|
|
316
334
|
for (let i = 0; i < this.childNodes.length; i++) {
|
|
317
335
|
if (this.childNodes[i]._isActive) {
|
|
318
336
|
this.childNodes[i]._drawNodes();
|
|
@@ -324,19 +342,19 @@ class RenderNode extends BaseNode {
|
|
|
324
342
|
}
|
|
325
343
|
}
|
|
326
344
|
|
|
327
|
-
drawEntityCollections(ec) {
|
|
328
|
-
this.renderer
|
|
345
|
+
public drawEntityCollections(ec: EntityCollection[]) {
|
|
346
|
+
this.renderer!.enqueueEntityCollectionsToDraw(ec);
|
|
329
347
|
}
|
|
330
348
|
|
|
331
349
|
/**
|
|
332
350
|
* Draw entity collections picking frame.
|
|
333
351
|
* @public
|
|
334
|
-
* @param {Array<
|
|
352
|
+
* @param {Array<EntityCollection>} ec - Entity collection array.
|
|
335
353
|
*/
|
|
336
|
-
drawPickingEntityCollections(ec) {
|
|
354
|
+
public drawPickingEntityCollections(ec: EntityCollection[]) {
|
|
337
355
|
if (ec.length) {
|
|
338
356
|
|
|
339
|
-
//
|
|
357
|
+
// billboard pass
|
|
340
358
|
let i = ec.length;
|
|
341
359
|
while (i--) {
|
|
342
360
|
ec[i]._fadingOpacity && ec[i].billboardHandler.drawPicking();
|
|
@@ -360,7 +378,7 @@ class RenderNode extends BaseNode {
|
|
|
360
378
|
ec[i]._fadingOpacity && ec[i].rayHandler.drawPicking();
|
|
361
379
|
}
|
|
362
380
|
|
|
363
|
-
//
|
|
381
|
+
// polyline pass
|
|
364
382
|
i = ec.length;
|
|
365
383
|
while (i--) {
|
|
366
384
|
ec[i]._visibility && ec[i].polylineHandler.drawPicking();
|
|
@@ -380,13 +398,9 @@ class RenderNode extends BaseNode {
|
|
|
380
398
|
}
|
|
381
399
|
}
|
|
382
400
|
|
|
383
|
-
|
|
384
|
-
* Picking entity frame callback
|
|
385
|
-
* @private
|
|
386
|
-
*/
|
|
387
|
-
_entityCollectionPickingCallback() {
|
|
401
|
+
protected _entityCollectionPickingCallback() {
|
|
388
402
|
this.drawPickingEntityCollections(this.entityCollections);
|
|
389
403
|
}
|
|
390
404
|
}
|
|
391
405
|
|
|
392
|
-
export {
|
|
406
|
+
export {RenderNode};
|
|
@@ -1,17 +1,21 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
import
|
|
4
|
-
import { RenderNode } from './RenderNode.js';
|
|
1
|
+
import * as shaders from '../shaders/skybox';
|
|
2
|
+
import {RenderNode} from './RenderNode';
|
|
3
|
+
import {WebGLBufferExt, WebGLTextureExt, Texture3DParams} from "../webgl/Handler";
|
|
5
4
|
|
|
6
5
|
class SkyBox extends RenderNode {
|
|
7
|
-
|
|
6
|
+
|
|
7
|
+
public params: Texture3DParams;
|
|
8
|
+
public vertexPositionBuffer: WebGLBufferExt | null;
|
|
9
|
+
public texture: WebGLTextureExt | null;
|
|
10
|
+
|
|
11
|
+
constructor(params: Texture3DParams) {
|
|
8
12
|
super("skybox");
|
|
9
13
|
this.params = params;
|
|
10
14
|
this.vertexPositionBuffer = null;
|
|
11
15
|
this.texture = null;
|
|
12
16
|
}
|
|
13
17
|
|
|
14
|
-
static createDefault(RESOURCES_URL) {
|
|
18
|
+
static createDefault(RESOURCES_URL: string) {
|
|
15
19
|
return new SkyBox({
|
|
16
20
|
nx: RESOURCES_URL + "skybox/gal/_nx.jpg",
|
|
17
21
|
px: RESOURCES_URL + "skybox/gal/_px.jpg",
|
|
@@ -22,38 +26,38 @@ class SkyBox extends RenderNode {
|
|
|
22
26
|
});
|
|
23
27
|
}
|
|
24
28
|
|
|
25
|
-
init() {
|
|
26
|
-
this.renderer
|
|
27
|
-
this.texture = this.renderer
|
|
29
|
+
public override init() {
|
|
30
|
+
this.renderer!.handler!.addProgram(shaders.skybox(), true);
|
|
31
|
+
this.texture = this.renderer!.handler.loadCubeMapTexture(this.params);
|
|
28
32
|
this._createBuffers();
|
|
29
|
-
this.drawMode = this.renderer
|
|
33
|
+
this.drawMode = this.renderer!.handler.gl!.TRIANGLES;
|
|
30
34
|
}
|
|
31
35
|
|
|
32
|
-
frame() {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
gl.disable(
|
|
36
|
+
public override frame() {
|
|
37
|
+
let h = this.renderer!.handler;
|
|
38
|
+
let gl = h.gl!;
|
|
39
|
+
let cam = this.renderer!.activeCamera!;
|
|
40
|
+
gl.disable(gl.DEPTH_TEST);
|
|
37
41
|
|
|
38
42
|
h.programs.skybox.activate();
|
|
39
|
-
|
|
40
|
-
|
|
43
|
+
let sh = h.programs.skybox._program;
|
|
44
|
+
let shu = sh.uniforms;
|
|
41
45
|
gl.uniformMatrix4fv(shu.projectionViewMatrix, false, cam.getProjectionViewMatrix());
|
|
42
|
-
gl.uniform3fv(shu.pos, cam.eye.
|
|
46
|
+
gl.uniform3fv(shu.pos, cam.eye.toArray());
|
|
43
47
|
gl.activeTexture(gl.TEXTURE0);
|
|
44
|
-
gl.bindTexture(gl.TEXTURE_CUBE_MAP, this.texture);
|
|
48
|
+
gl.bindTexture(gl.TEXTURE_CUBE_MAP, this.texture!);
|
|
45
49
|
gl.uniform1i(shu.uSampler, 0);
|
|
46
|
-
|
|
50
|
+
let buf = this.vertexPositionBuffer!;
|
|
47
51
|
gl.bindBuffer(gl.ARRAY_BUFFER, buf);
|
|
48
52
|
gl.vertexAttribPointer(sh.attributes.aVertexPosition, buf.itemSize, gl.FLOAT, false, 0, 0);
|
|
49
53
|
|
|
50
54
|
gl.drawArrays(this.drawMode, 0, buf.numItems);
|
|
51
|
-
|
|
55
|
+
gl.enable(gl.DEPTH_TEST);
|
|
52
56
|
}
|
|
53
57
|
|
|
54
|
-
_createBuffers() {
|
|
58
|
+
protected _createBuffers() {
|
|
55
59
|
|
|
56
|
-
|
|
60
|
+
const vertices = new Float32Array([
|
|
57
61
|
-100000000.0, 100000000.0, -100000000.0,
|
|
58
62
|
-100000000.0, -100000000.0, -100000000.0,
|
|
59
63
|
100000000.0, -100000000.0, -100000000.0,
|
|
@@ -97,8 +101,8 @@ class SkyBox extends RenderNode {
|
|
|
97
101
|
100000000.0, -100000000.0, 100000000.0
|
|
98
102
|
]);
|
|
99
103
|
|
|
100
|
-
this.vertexPositionBuffer = this.renderer
|
|
104
|
+
this.vertexPositionBuffer = this.renderer!.handler.createArrayBuffer(vertices, 3, vertices.length / 3);
|
|
101
105
|
}
|
|
102
106
|
}
|
|
103
107
|
|
|
104
|
-
export {
|
|
108
|
+
export {SkyBox};
|