@openglobus/og 0.18.0 → 0.18.1
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 +8 -8
- package/lib/@openglobus/og.esm.js +2 -0
- package/lib/@openglobus/og.esm.js.map +1 -0
- package/lib/@openglobus/og.umd.js +2 -0
- package/lib/@openglobus/og.umd.js.map +1 -0
- package/lib/js/Clock.d.ts +106 -0
- package/{src/Clock.ts → lib/js/Clock.js} +31 -126
- package/lib/js/Deferred.d.ts +6 -0
- package/lib/js/Deferred.js +13 -0
- package/lib/js/Events.d.ts +90 -0
- package/{src/Events.ts → lib/js/Events.js} +29 -84
- package/lib/js/Extent.d.ts +145 -0
- package/{src/Extent.ts → lib/js/Extent.js} +74 -120
- package/lib/js/Globe.d.ts +132 -0
- package/{src/Globe.ts → lib/js/Globe.js} +61 -159
- package/lib/js/ImageCanvas.d.ts +128 -0
- package/{src/ImageCanvas.ts → lib/js/ImageCanvas.js} +24 -65
- package/lib/js/Lock.d.ts +15 -0
- package/{src/Lock.ts → lib/js/Lock.js} +7 -21
- package/lib/js/LonLat.d.ts +128 -0
- package/{src/LonLat.ts → lib/js/LonLat.js} +44 -75
- package/lib/js/Object3d.d.ts +49 -0
- package/{src/Object3d.ts → lib/js/Object3d.js} +64 -184
- package/lib/js/Popup.d.ts +46 -0
- package/{src/Popup.ts → lib/js/Popup.js} +42 -110
- package/lib/js/QueueArray.d.ts +16 -0
- package/{src/QueueArray.ts → lib/js/QueueArray.js} +12 -25
- package/lib/js/Rectangle.d.ts +76 -0
- package/{src/Rectangle.ts → lib/js/Rectangle.js} +12 -50
- package/lib/js/Stack.d.ts +20 -0
- package/{src/Stack.ts → lib/js/Stack.js} +13 -29
- package/lib/js/astro/astro.d.ts +39 -0
- package/{src/astro/astro.ts → lib/js/astro/astro.js} +2 -8
- package/lib/js/astro/earth.d.ts +8 -0
- package/{src/astro/earth.ts → lib/js/astro/earth.js} +3 -39
- package/lib/js/astro/jd.d.ts +234 -0
- package/{src/astro/jd.ts → lib/js/astro/jd.js} +55 -134
- package/lib/js/astro/orbit.d.ts +5 -0
- package/{src/astro/orbit.ts → lib/js/astro/orbit.js} +26 -39
- package/lib/js/astro/rotation.d.ts +2 -0
- package/{src/astro/rotation.ts → lib/js/astro/rotation.js} +2 -11
- package/lib/js/bv/Box.d.ts +32 -0
- package/{src/bv/Box.ts → lib/js/bv/Box.js} +7 -35
- package/lib/js/bv/Sphere.d.ts +37 -0
- package/{src/bv/Sphere.ts → lib/js/bv/Sphere.js} +6 -34
- package/{src/bv/index.ts → lib/js/bv/index.d.ts} +0 -1
- package/lib/js/bv/index.js +3 -0
- package/lib/js/camera/Camera.d.ts +314 -0
- package/{src/camera/Camera.ts → lib/js/camera/Camera.js} +77 -326
- package/lib/js/camera/Frustum.d.ts +139 -0
- package/{src/camera/Frustum.ts → lib/js/camera/Frustum.js} +66 -185
- package/lib/js/camera/PlanetCamera.d.ts +234 -0
- package/{src/camera/PlanetCamera.ts → lib/js/camera/PlanetCamera.js} +65 -338
- package/{src/camera/index.ts → lib/js/camera/index.d.ts} +0 -1
- package/lib/js/camera/index.js +3 -0
- package/lib/js/cons.d.ts +40 -0
- package/{src/cons.ts → lib/js/cons.js} +10 -22
- package/lib/js/control/Atmosphere.d.ts +16 -0
- package/{src/control/Atmosphere.ts → lib/js/control/Atmosphere.js} +33 -86
- package/lib/js/control/CompassButton.d.ts +16 -0
- package/{src/control/CompassButton.ts → lib/js/control/CompassButton.js} +18 -43
- package/lib/js/control/Control.d.ts +100 -0
- package/{src/control/Control.ts → lib/js/control/Control.js} +22 -89
- package/lib/js/control/DebugInfo.d.ts +25 -0
- package/{src/control/DebugInfo.ts → lib/js/control/DebugInfo.js} +38 -84
- package/lib/js/control/DrawingSwitcher.d.ts +13 -0
- package/{src/control/DrawingSwitcher.ts → lib/js/control/DrawingSwitcher.js} +13 -30
- package/lib/js/control/EarthCoordinates.d.ts +41 -0
- package/{src/control/EarthCoordinates.ts → lib/js/control/EarthCoordinates.js} +58 -119
- package/lib/js/control/EarthNavigation.d.ts +50 -0
- package/{src/control/EarthNavigation.ts → lib/js/control/EarthNavigation.js} +70 -161
- package/lib/js/control/GeoImageDragControl.d.ts +22 -0
- package/{src/control/GeoImageDragControl.ts → lib/js/control/GeoImageDragControl.js} +26 -49
- package/lib/js/control/KeyboardNavigation.d.ts +28 -0
- package/{src/control/KeyboardNavigation.ts → lib/js/control/KeyboardNavigation.js} +67 -92
- package/lib/js/control/LayerAnimation.d.ts +71 -0
- package/{src/control/LayerAnimation.ts → lib/js/control/LayerAnimation.js} +82 -162
- package/lib/js/control/LayerSwitcher.d.ts +21 -0
- package/{src/control/LayerSwitcher.ts → lib/js/control/LayerSwitcher.js} +16 -41
- package/lib/js/control/Lighting.d.ts +49 -0
- package/{src/control/Lighting.ts → lib/js/control/Lighting.js} +106 -219
- package/lib/js/control/MouseNavigation.d.ts +62 -0
- package/{src/control/MouseNavigation.ts → lib/js/control/MouseNavigation.js} +105 -211
- package/lib/js/control/MouseWheelZoomControl.d.ts +44 -0
- package/lib/js/control/MouseWheelZoomControl.js +181 -0
- package/lib/js/control/RulerSwitcher.d.ts +17 -0
- package/{src/control/RulerSwitcher.ts → lib/js/control/RulerSwitcher.js} +13 -28
- package/lib/js/control/ScaleControl.d.ts +24 -0
- package/lib/js/control/ScaleControl.js +91 -0
- package/lib/js/control/SegmentBoundVisualization.d.ts +12 -0
- package/lib/js/control/SegmentBoundVisualization.js +37 -0
- package/lib/js/control/ShowFps.d.ts +9 -0
- package/lib/js/control/ShowFps.js +20 -0
- package/lib/js/control/SimpleNavigation.d.ts +25 -0
- package/{src/control/SimpleNavigation.ts → lib/js/control/SimpleNavigation.js} +29 -51
- package/lib/js/control/SimpleSkyBackground.d.ts +15 -0
- package/{src/control/SimpleSkyBackground.ts → lib/js/control/SimpleSkyBackground.js} +21 -48
- package/lib/js/control/Sun.d.ts +33 -0
- package/{src/control/Sun.ts → lib/js/control/Sun.js} +34 -85
- package/lib/js/control/ToggleWireframe.d.ts +14 -0
- package/lib/js/control/ToggleWireframe.js +28 -0
- package/lib/js/control/TouchNavigation.d.ts +52 -0
- package/{src/control/TouchNavigation.ts → lib/js/control/TouchNavigation.js} +88 -193
- package/lib/js/control/ZoomControl.d.ts +27 -0
- package/{src/control/ZoomControl.ts → lib/js/control/ZoomControl.js} +25 -50
- package/lib/js/control/drawing/DrawingControl.d.ts +12 -0
- package/{src/control/drawing/DrawingControl.ts → lib/js/control/drawing/DrawingControl.js} +10 -20
- package/lib/js/control/drawing/LineStringDrawingScene.d.ts +15 -0
- package/{src/control/drawing/LineStringDrawingScene.ts → lib/js/control/drawing/LineStringDrawingScene.js} +28 -85
- package/lib/js/control/drawing/PolygonDrawingScene.d.ts +98 -0
- package/{src/control/drawing/PolygonDrawingScene.ts → lib/js/control/drawing/PolygonDrawingScene.js} +190 -388
- package/lib/js/control/elevationProfile/ElevationProfile.d.ts +61 -0
- package/{src/control/elevationProfile/ElevationProfile.ts → lib/js/control/elevationProfile/ElevationProfile.js} +56 -148
- package/lib/js/control/heightRuler/HeightRuler.d.ts +7 -0
- package/{src/control/heightRuler/HeightRuler.ts → lib/js/control/heightRuler/HeightRuler.js} +4 -9
- package/lib/js/control/heightRuler/HeightRulerScene.d.ts +35 -0
- package/{src/control/heightRuler/HeightRulerScene.ts → lib/js/control/heightRuler/HeightRulerScene.js} +47 -99
- package/lib/js/control/heightRuler/HeightRulerSwitcher.d.ts +6 -0
- package/{src/control/heightRuler/HeightRulerSwitcher.ts → lib/js/control/heightRuler/HeightRulerSwitcher.js} +2 -4
- package/{src/control/index.ts → lib/js/control/index.d.ts} +1 -18
- package/lib/js/control/index.js +28 -0
- package/lib/js/control/ruler/Ruler.d.ts +13 -0
- package/lib/js/control/ruler/Ruler.js +23 -0
- package/lib/js/control/ruler/RulerScene.d.ts +88 -0
- package/lib/js/control/ruler/RulerScene.js +324 -0
- package/lib/js/control/selection/Selection.d.ts +55 -0
- package/{src/control/selection/Selection.ts → lib/js/control/selection/Selection.js} +15 -34
- package/lib/js/control/selection/SelectionScene.d.ts +44 -0
- package/{src/control/selection/SelectionScene.ts → lib/js/control/selection/SelectionScene.js} +26 -113
- package/lib/js/control/timeline/TimelineControl.d.ts +18 -0
- package/{src/control/timeline/TimelineControl.ts → lib/js/control/timeline/TimelineControl.js} +13 -43
- package/lib/js/control/timeline/TimelineModel.d.ts +41 -0
- package/{src/control/timeline/TimelineModel.ts → lib/js/control/timeline/TimelineModel.js} +26 -74
- package/lib/js/control/timeline/TimelineView.d.ts +85 -0
- package/{src/control/timeline/TimelineView.ts → lib/js/control/timeline/TimelineView.js} +133 -281
- package/lib/js/control/timeline/timelineUtils.d.ts +12 -0
- package/lib/js/control/timeline/timelineUtils.js +112 -0
- package/lib/js/control/visibleExtent/Segment.d.ts +277 -0
- package/{src → lib/js}/control/visibleExtent/Segment.js +145 -698
- package/lib/js/control/visibleExtent/VisibleExtent.d.ts +5 -0
- package/{src → lib/js}/control/visibleExtent/VisibleExtent.js +1 -18
- package/lib/js/control/visibleExtent/drawnode.d.ts +7 -0
- package/{src/control/visibleExtent/drawnode.ts → lib/js/control/visibleExtent/drawnode.js} +1 -28
- package/lib/js/ellipsoid/Ellipsoid.d.ts +187 -0
- package/{src/ellipsoid/Ellipsoid.ts → lib/js/ellipsoid/Ellipsoid.js} +82 -267
- package/lib/js/ellipsoid/index.d.ts +3 -0
- package/lib/js/ellipsoid/index.js +3 -0
- package/lib/js/ellipsoid/wgs84.d.ts +6 -0
- package/{src/ellipsoid/wgs84.ts → lib/js/ellipsoid/wgs84.js} +1 -2
- package/lib/js/entity/BaseBillboard.d.ts +222 -0
- package/{src/entity/BaseBillboard.ts → lib/js/entity/BaseBillboard.js} +48 -165
- package/lib/js/entity/BaseBillboardHandler.d.ts +81 -0
- package/{src/entity/BaseBillboardHandler.ts → lib/js/entity/BaseBillboardHandler.js} +139 -365
- package/lib/js/entity/Billboard.d.ts +113 -0
- package/{src/entity/Billboard.ts → lib/js/entity/Billboard.js} +19 -83
- package/lib/js/entity/BillboardHandler.d.ts +15 -0
- package/{src/entity/BillboardHandler.ts → lib/js/entity/BillboardHandler.js} +27 -59
- package/lib/js/entity/Entity.d.ts +354 -0
- package/{src/entity/Entity.ts → lib/js/entity/Entity.js} +101 -373
- package/lib/js/entity/EntityCollection.d.ts +364 -0
- package/{src/entity/EntityCollection.ts → lib/js/entity/EntityCollection.js} +51 -353
- package/lib/js/entity/GeoObject.d.ts +138 -0
- package/{src/entity/GeoObject.ts → lib/js/entity/GeoObject.js} +41 -146
- package/lib/js/entity/GeoObjectHandler.d.ts +99 -0
- package/{src/entity/GeoObjectHandler.ts → lib/js/entity/GeoObjectHandler.js} +162 -423
- package/lib/js/entity/Geometry.d.ts +111 -0
- package/lib/js/entity/Geometry.js +283 -0
- package/lib/js/entity/GeometryHandler.d.ts +84 -0
- package/{src/entity/GeometryHandler.ts → lib/js/entity/GeometryHandler.js} +162 -657
- package/lib/js/entity/Label.d.ts +207 -0
- package/{src/entity/Label.ts → lib/js/entity/Label.js} +62 -164
- package/lib/js/entity/LabelHandler.d.ts +65 -0
- package/{src/entity/LabelHandler.ts → lib/js/entity/LabelHandler.js} +175 -408
- package/lib/js/entity/LabelWorker.d.ts +15 -0
- package/{src/entity/LabelWorker.ts → lib/js/entity/LabelWorker.js} +24 -45
- package/lib/js/entity/PointCloud.d.ts +179 -0
- package/{src/entity/PointCloud.ts → lib/js/entity/PointCloud.js} +65 -265
- package/lib/js/entity/PointCloudHandler.d.ts +42 -0
- package/{src/entity/PointCloudHandler.ts → lib/js/entity/PointCloudHandler.js} +19 -62
- package/lib/js/entity/Polyline.d.ts +337 -0
- package/{src/entity/Polyline.ts → lib/js/entity/Polyline.js} +289 -924
- package/lib/js/entity/PolylineHandler.d.ts +22 -0
- package/{src/entity/PolylineHandler.ts → lib/js/entity/PolylineHandler.js} +12 -37
- package/lib/js/entity/Ray.d.ts +133 -0
- package/{src/entity/Ray.ts → lib/js/entity/Ray.js} +26 -146
- package/lib/js/entity/RayHandler.d.ts +70 -0
- package/{src/entity/RayHandler.ts → lib/js/entity/RayHandler.js} +102 -342
- package/lib/js/entity/Strip.d.ts +127 -0
- package/{src/entity/Strip.ts → lib/js/entity/Strip.js} +102 -372
- package/lib/js/entity/StripHandler.d.ts +42 -0
- package/{src/entity/StripHandler.ts → lib/js/entity/StripHandler.js} +22 -74
- package/{src/entity/index.ts → lib/js/entity/index.d.ts} +1 -2
- package/lib/js/entity/index.js +11 -0
- package/lib/js/index.d.ts +33 -0
- package/lib/js/index.js +33 -0
- package/lib/js/input/KeyboardHandler.d.ts +33 -0
- package/{src/input/KeyboardHandler.ts → lib/js/input/KeyboardHandler.js} +45 -84
- package/lib/js/input/MouseHandler.d.ts +16 -0
- package/{src/input/MouseHandler.ts → lib/js/input/MouseHandler.js} +12 -36
- package/lib/js/input/TouchHandler.d.ts +11 -0
- package/{src/input/TouchHandler.ts → lib/js/input/TouchHandler.js} +11 -23
- package/lib/js/input/input.d.ts +3 -0
- package/{src/input/input.ts → lib/js/input/input.js} +1 -1
- package/lib/js/layer/BaseGeoImage.d.ts +145 -0
- package/{src/layer/BaseGeoImage.ts → lib/js/layer/BaseGeoImage.js} +70 -235
- package/lib/js/layer/CanvasTiles.d.ts +103 -0
- package/{src/layer/CanvasTiles.ts → lib/js/layer/CanvasTiles.js} +54 -146
- package/lib/js/layer/GeoImage.d.ts +61 -0
- package/{src/layer/GeoImage.ts → lib/js/layer/GeoImage.js} +24 -54
- package/lib/js/layer/GeoTexture2d.d.ts +17 -0
- package/lib/js/layer/GeoTexture2d.js +37 -0
- package/lib/js/layer/GeoVideo.d.ts +68 -0
- package/{src/layer/GeoVideo.ts → lib/js/layer/GeoVideo.js} +31 -61
- package/lib/js/layer/KML.d.ts +72 -0
- package/{src/layer/KML.ts → lib/js/layer/KML.js} +94 -138
- package/lib/js/layer/Layer.d.ts +401 -0
- package/{src/layer/Layer.ts → lib/js/layer/Layer.js} +92 -443
- package/lib/js/layer/Material.d.ts +34 -0
- package/{src/layer/Material.ts → lib/js/layer/Material.js} +9 -43
- package/lib/js/layer/Vector.d.ts +244 -0
- package/{src/layer/Vector.ts → lib/js/layer/Vector.js} +147 -418
- package/lib/js/layer/WMS.d.ts +75 -0
- package/{src/layer/WMS.ts → lib/js/layer/WMS.js} +18 -100
- package/lib/js/layer/XYZ.d.ts +149 -0
- package/{src/layer/XYZ.ts → lib/js/layer/XYZ.js} +71 -171
- package/lib/js/layer/index.d.ts +11 -0
- package/lib/js/layer/index.js +11 -0
- package/lib/js/light/LightSource.d.ts +174 -0
- package/{src/light/LightSource.ts → lib/js/light/LightSource.js} +22 -131
- package/lib/js/math/Line2.d.ts +11 -0
- package/{src/math/Line2.ts → lib/js/math/Line2.js} +5 -15
- package/lib/js/math/Line3.d.ts +28 -0
- package/lib/js/math/Line3.js +85 -0
- package/lib/js/math/Mat3.d.ts +77 -0
- package/{src/math/Mat3.ts → lib/js/math/Mat3.js} +22 -51
- package/lib/js/math/Mat4.d.ts +195 -0
- package/{src/math/Mat4.ts → lib/js/math/Mat4.js} +53 -219
- package/lib/js/math/Plane.d.ts +20 -0
- package/{src/math/Plane.ts → lib/js/math/Plane.js} +26 -40
- package/lib/js/math/Quat.d.ts +373 -0
- package/{src/math/Quat.ts → lib/js/math/Quat.js} +106 -319
- package/lib/js/math/Ray.d.ts +76 -0
- package/{src/math/Ray.ts → lib/js/math/Ray.js} +21 -66
- package/lib/js/math/Vec2.d.ts +310 -0
- package/{src/math/Vec2.ts → lib/js/math/Vec2.js} +55 -121
- package/lib/js/math/Vec3.d.ts +472 -0
- package/{src/math/Vec3.ts → lib/js/math/Vec3.js} +103 -236
- package/lib/js/math/Vec4.d.ts +163 -0
- package/{src/math/Vec4.ts → lib/js/math/Vec4.js} +23 -79
- package/lib/js/math/coder.d.ts +51 -0
- package/{src/math/coder.ts → lib/js/math/coder.js} +14 -20
- package/lib/js/math/index.d.ts +11 -0
- package/lib/js/math/index.js +11 -0
- package/lib/js/math.d.ts +266 -0
- package/{src/math.ts → lib/js/math.js} +37 -85
- package/lib/js/mercator.d.ts +92 -0
- package/{src/mercator.ts → lib/js/mercator.js} +13 -37
- package/lib/js/proj/EPSG3857.d.ts +9 -0
- package/{src/proj/EPSG3857.ts → lib/js/proj/EPSG3857.js} +0 -2
- package/lib/js/proj/EPSG4326.d.ts +9 -0
- package/{src/proj/EPSG4326.ts → lib/js/proj/EPSG4326.js} +0 -2
- package/lib/js/proj/Proj.d.ts +43 -0
- package/{src/proj/Proj.ts → lib/js/proj/Proj.js} +4 -29
- package/lib/js/quadTree/EPSG4326QuadTreeStrategy.d.ts +6 -0
- package/lib/js/quadTree/EPSG4326QuadTreeStrategy.js +17 -0
- package/lib/js/quadTree/EarthQuadTreeStrategy.d.ts +6 -0
- package/lib/js/quadTree/EarthQuadTreeStrategy.js +19 -0
- package/lib/js/quadTree/EntityCollectionNode.d.ts +54 -0
- package/{src/quadTree/EntityCollectionNode.ts → lib/js/quadTree/EntityCollectionNode.js} +83 -150
- package/lib/js/quadTree/MarsQuadTreeStrategy.d.ts +6 -0
- package/lib/js/quadTree/MarsQuadTreeStrategy.js +17 -0
- package/lib/js/quadTree/Node.d.ts +61 -0
- package/{src/quadTree/Node.ts → lib/js/quadTree/Node.js} +140 -357
- package/lib/js/quadTree/QuadTreeStrategy.d.ts +25 -0
- package/{src/quadTree/QuadTreeStrategy.ts → lib/js/quadTree/QuadTreeStrategy.js} +13 -44
- package/lib/js/quadTree/Wgs84QuadTreeStrategy.d.ts +6 -0
- package/lib/js/quadTree/Wgs84QuadTreeStrategy.js +15 -0
- package/lib/js/quadTree/index.d.ts +12 -0
- package/lib/js/quadTree/index.js +12 -0
- package/lib/js/quadTree/quadTree.d.ts +40 -0
- package/{src/quadTree/quadTree.ts → lib/js/quadTree/quadTree.js} +0 -9
- package/lib/js/renderer/Renderer.d.ts +311 -0
- package/{src/renderer/Renderer.ts → lib/js/renderer/Renderer.js} +169 -611
- package/lib/js/renderer/RendererEvents.d.ts +237 -0
- package/{src/renderer/RendererEvents.ts → lib/js/renderer/RendererEvents.js} +134 -471
- package/lib/js/scene/Axes.d.ts +12 -0
- package/lib/js/scene/Axes.js +59 -0
- package/lib/js/scene/BaseNode.d.ts +61 -0
- package/{src/scene/BaseNode.ts → lib/js/scene/BaseNode.js} +11 -57
- package/lib/js/scene/Planet.d.ts +623 -0
- package/{src/scene/Planet.ts → lib/js/scene/Planet.js} +251 -935
- package/lib/js/scene/RenderNode.d.ts +150 -0
- package/{src/scene/RenderNode.ts → lib/js/scene/RenderNode.js} +33 -138
- package/lib/js/scene/SkyBox.d.ts +13 -0
- package/{src/scene/SkyBox.ts → lib/js/scene/SkyBox.js} +16 -37
- package/{src/scene/index.ts → lib/js/scene/index.d.ts} +0 -1
- package/lib/js/scene/index.js +5 -0
- package/lib/js/segment/Segment.d.ts +278 -0
- package/{src/segment/Segment.ts → lib/js/segment/Segment.js} +242 -913
- package/lib/js/segment/SegmentLonLat.d.ts +48 -0
- package/{src/segment/SegmentLonLat.ts → lib/js/segment/SegmentLonLat.js} +58 -132
- package/lib/js/segment/SegmentLonLatWgs84.d.ts +10 -0
- package/lib/js/segment/SegmentLonLatWgs84.js +23 -0
- package/lib/js/segment/Slice.d.ts +13 -0
- package/{src/segment/Slice.ts → lib/js/segment/Slice.js} +4 -22
- package/lib/js/segment/segmentHelper.d.ts +18 -0
- package/{src/segment/segmentHelper.ts → lib/js/segment/segmentHelper.js} +30 -88
- package/lib/js/shaders/atmos.d.ts +4 -0
- package/{src/shaders/atmos.ts → lib/js/shaders/atmos.js} +8 -26
- package/lib/js/shaders/billboard.d.ts +3 -0
- package/{src/shaders/billboard.ts → lib/js/shaders/billboard.js} +9 -18
- package/lib/js/shaders/bloom.d.ts +2 -0
- package/{src/shaders/bloom.ts → lib/js/shaders/bloom.js} +5 -8
- package/lib/js/shaders/blur.d.ts +3 -0
- package/{src/shaders/blur.ts → lib/js/shaders/blur.js} +11 -19
- package/lib/js/shaders/depth.d.ts +2 -0
- package/{src/shaders/depth.ts → lib/js/shaders/depth.js} +3 -6
- package/lib/js/shaders/drawnode.d.ts +8 -0
- package/{src/shaders/drawnode.ts → lib/js/shaders/drawnode.js} +23 -75
- package/lib/js/shaders/geoObject.d.ts +3 -0
- package/{src/shaders/geoObject.ts → lib/js/shaders/geoObject.js} +51 -63
- package/lib/js/shaders/label.d.ts +4 -0
- package/{src/shaders/label.ts → lib/js/shaders/label.js} +12 -25
- package/lib/js/shaders/lumFilter.d.ts +2 -0
- package/{src/shaders/lumFilter.ts → lib/js/shaders/lumFilter.js} +4 -7
- package/lib/js/shaders/pickingMask.d.ts +2 -0
- package/{src/shaders/pickingMask.ts → lib/js/shaders/pickingMask.js} +5 -8
- package/lib/js/shaders/pointCloud.d.ts +2 -0
- package/{src/shaders/pointCloud.ts → lib/js/shaders/pointCloud.js} +4 -7
- package/lib/js/shaders/polyline.d.ts +3 -0
- package/{src/shaders/polyline.ts → lib/js/shaders/polyline.js} +7 -22
- package/lib/js/shaders/ray.d.ts +2 -0
- package/{src/shaders/ray.ts → lib/js/shaders/ray.js} +4 -7
- package/lib/js/shaders/screenFrame.d.ts +2 -0
- package/{src/shaders/screenFrame.ts → lib/js/shaders/screenFrame.js} +5 -8
- package/lib/js/shaders/skybox.d.ts +2 -0
- package/{src/shaders/skybox.ts → lib/js/shaders/skybox.js} +10 -13
- package/lib/js/shaders/toneMapping.d.ts +2 -0
- package/{src/shaders/toneMapping.ts → lib/js/shaders/toneMapping.js} +5 -8
- package/lib/js/shaders/utils.d.ts +1 -0
- package/{src/shaders/utils.ts → lib/js/shaders/utils.js} +1 -1
- package/lib/js/terrain/BilTerrain.d.ts +18 -0
- package/{src/terrain/BilTerrain.ts → lib/js/terrain/BilTerrain.js} +21 -118
- package/lib/js/terrain/EmptyTerrain.d.ts +106 -0
- package/{src/terrain/EmptyTerrain.ts → lib/js/terrain/EmptyTerrain.js} +20 -144
- package/lib/js/terrain/Geoid.d.ts +33 -0
- package/lib/js/terrain/Geoid.js +191 -0
- package/lib/js/terrain/GlobusTerrain.d.ts +134 -0
- package/{src/terrain/GlobusTerrain.ts → lib/js/terrain/GlobusTerrain.js} +82 -239
- package/lib/js/terrain/MapboxTerrain.d.ts +21 -0
- package/{src/terrain/MapboxTerrain.ts → lib/js/terrain/MapboxTerrain.js} +46 -215
- package/{src/terrain/index.ts → lib/js/terrain/index.d.ts} +0 -1
- package/lib/js/terrain/index.js +5 -0
- package/lib/js/ui/Button.d.ts +32 -0
- package/lib/js/ui/Button.js +78 -0
- package/lib/js/ui/ButtonGroup.d.ts +16 -0
- package/lib/js/ui/ButtonGroup.js +41 -0
- package/lib/js/ui/Dialog.d.ts +55 -0
- package/lib/js/ui/Dialog.js +173 -0
- package/lib/js/ui/Slider.d.ts +38 -0
- package/lib/js/ui/Slider.js +129 -0
- package/lib/js/ui/ToggleButton.d.ts +20 -0
- package/lib/js/ui/ToggleButton.js +42 -0
- package/lib/js/ui/View.d.ts +37 -0
- package/{src/ui/View.ts → lib/js/ui/View.js} +31 -77
- package/lib/js/ui/icons.d.ts +1 -0
- package/{src/ui/icons.ts → lib/js/ui/icons.js} +1 -1
- package/lib/js/utils/BaseWorker.d.ts +14 -0
- package/{src/utils/BaseWorker.ts → lib/js/utils/BaseWorker.js} +15 -28
- package/lib/js/utils/FontAtlas.d.ts +82 -0
- package/{src/utils/FontAtlas.ts → lib/js/utils/FontAtlas.js} +45 -181
- package/lib/js/utils/GeoImageCreator.d.ts +34 -0
- package/{src/utils/GeoImageCreator.ts → lib/js/utils/GeoImageCreator.js} +34 -91
- package/lib/js/utils/ImagesCacheManager.d.ts +22 -0
- package/{src/utils/ImagesCacheManager.ts → lib/js/utils/ImagesCacheManager.js} +16 -38
- package/lib/js/utils/Loader.d.ts +63 -0
- package/lib/js/utils/Loader.js +156 -0
- package/lib/js/utils/NormalMapCreator.d.ts +52 -0
- package/{src/utils/NormalMapCreator.ts → lib/js/utils/NormalMapCreator.js} +64 -195
- package/lib/js/utils/PlainSegmentWorker.d.ts +24 -0
- package/{src/utils/PlainSegmentWorker.ts → lib/js/utils/PlainSegmentWorker.js} +24 -56
- package/lib/js/utils/TerrainWorker.d.ts +28 -0
- package/{src/utils/TerrainWorker.ts → lib/js/utils/TerrainWorker.js} +19 -56
- package/lib/js/utils/TextureAtlas.d.ts +113 -0
- package/{src/utils/TextureAtlas.ts → lib/js/utils/TextureAtlas.js} +40 -131
- package/lib/js/utils/VectorTileCreator.d.ts +18 -0
- package/{src/utils/VectorTileCreator.ts → lib/js/utils/VectorTileCreator.js} +61 -147
- package/lib/js/utils/colorTable.d.ts +3 -0
- package/{src/utils/colorTable.ts → lib/js/utils/colorTable.js} +2 -2
- package/lib/js/utils/earcut.d.ts +7 -0
- package/{src/utils/earcut.ts → lib/js/utils/earcut.js} +95 -223
- package/lib/js/utils/objParser.d.ts +24 -0
- package/{src/utils/objParser.ts → lib/js/utils/objParser.js} +38 -93
- package/lib/js/utils/shared.d.ts +267 -0
- package/{src/utils/shared.ts → lib/js/utils/shared.js} +184 -341
- package/lib/js/utils/units.d.ts +16 -0
- package/lib/js/utils/units.js +61 -0
- package/lib/js/webgl/BaseFramebuffer.d.ts +53 -0
- package/{src/webgl/BaseFramebuffer.ts → lib/js/webgl/BaseFramebuffer.js} +22 -59
- package/lib/js/webgl/Framebuffer.d.ts +69 -0
- package/{src/webgl/Framebuffer.ts → lib/js/webgl/Framebuffer.js} +30 -87
- package/lib/js/webgl/Handler.d.ts +473 -0
- package/{src/webgl/Handler.ts → lib/js/webgl/Handler.js} +175 -586
- package/lib/js/webgl/Multisample.d.ts +27 -0
- package/lib/js/webgl/Multisample.js +77 -0
- package/lib/js/webgl/Program.d.ts +159 -0
- package/{src/webgl/Program.ts → lib/js/webgl/Program.js} +73 -210
- package/lib/js/webgl/ProgramController.d.ts +86 -0
- package/{src/webgl/ProgramController.ts → lib/js/webgl/ProgramController.js} +11 -45
- package/{src/webgl/index.ts → lib/js/webgl/index.d.ts} +1 -8
- package/lib/js/webgl/index.js +6 -0
- package/lib/js/webgl/types.d.ts +9 -0
- package/{src/webgl/types.ts → lib/js/webgl/types.js} +5 -8
- package/lib/js/webgl/variableHandlers.d.ts +22 -0
- package/lib/js/webgl/variableHandlers.js +78 -0
- package/package.json +23 -34
- package/dist/@openglobus/og.esm.js +0 -2
- package/dist/@openglobus/og.esm.js.map +0 -1
- package/dist/@openglobus/og.umd.js +0 -2
- package/dist/@openglobus/og.umd.js.map +0 -1
- package/src/Deferred.ts +0 -17
- package/src/control/MouseWheelZoomControl.ts +0 -269
- package/src/control/ScaleControl.ts +0 -131
- package/src/control/SegmentBoundVisualization.ts +0 -50
- package/src/control/ShowFps.ts +0 -28
- package/src/control/ToggleWireframe.ts +0 -35
- package/src/control/ruler/Ruler.ts +0 -35
- package/src/control/ruler/RulerScene.ts +0 -437
- package/src/control/timeline/timelineUtils.ts +0 -133
- package/src/ellipsoid/index.ts +0 -4
- package/src/entity/Geometry.ts +0 -486
- package/src/index.ts +0 -173
- package/src/layer/GeoTexture2d.ts +0 -56
- package/src/layer/index.ts +0 -12
- package/src/math/Line3.ts +0 -162
- package/src/math/index.ts +0 -26
- package/src/quadTree/EPSG4326QuadTreeStrategy.ts +0 -24
- package/src/quadTree/EarthQuadTreeStrategy.ts +0 -28
- package/src/quadTree/MarsQuadTreeStrategy.ts +0 -25
- package/src/quadTree/Wgs84QuadTreeStrategy.ts +0 -22
- package/src/quadTree/index.ts +0 -14
- package/src/scene/Axes.ts +0 -78
- package/src/segment/SegmentLonLatWgs84.ts +0 -33
- package/src/terrain/Geoid.ts +0 -273
- package/src/ui/Button.ts +0 -121
- package/src/ui/ButtonGroup.ts +0 -63
- package/src/ui/Dialog.ts +0 -244
- package/src/ui/Slider.ts +0 -188
- package/src/ui/ToggleButton.ts +0 -68
- package/src/utils/Loader.ts +0 -247
- package/src/utils/units.ts +0 -78
- package/src/webgl/Multisample.ts +0 -153
- package/src/webgl/variableHandlers.ts +0 -114
- /package/{dist → lib}/@openglobus/og.css +0 -0
- /package/{dist → lib}/@openglobus/res/fonts/Karla-Bold.json +0 -0
- /package/{dist → lib}/@openglobus/res/fonts/Karla-Bold.ttf.cfg +0 -0
- /package/{dist → lib}/@openglobus/res/fonts/Karla-Bold.ttf.png +0 -0
- /package/{dist → lib}/@openglobus/res/fonts/Karla-Light.json +0 -0
- /package/{dist → lib}/@openglobus/res/fonts/Karla-Light.ttf.cfg +0 -0
- /package/{dist → lib}/@openglobus/res/fonts/Karla-Light.ttf.png +0 -0
- /package/{dist → lib}/@openglobus/res/fonts/Karla-Medium.json +0 -0
- /package/{dist → lib}/@openglobus/res/fonts/Karla-Medium.ttf.cfg +0 -0
- /package/{dist → lib}/@openglobus/res/fonts/Karla-Medium.ttf.png +0 -0
- /package/{dist → lib}/@openglobus/res/fonts/NotoSansArabic-Regular.json +0 -0
- /package/{dist → lib}/@openglobus/res/fonts/NotoSansArabic-Regular.ttf.cfg +0 -0
- /package/{dist → lib}/@openglobus/res/fonts/NotoSansArabic-Regular.ttf.png +0 -0
- /package/{dist → lib}/@openglobus/res/fonts/Roboto-Regular.json +0 -0
- /package/{dist → lib}/@openglobus/res/fonts/Roboto-Regular.ttf.cfg +0 -0
- /package/{dist → lib}/@openglobus/res/fonts/Roboto-Regular.ttf.png +0 -0
- /package/{dist → lib}/@openglobus/res/fonts/arial.js +0 -0
- /package/{dist → lib}/@openglobus/res/fonts/arial.json +0 -0
- /package/{dist → lib}/@openglobus/res/fonts/arial.ttf.cfg +0 -0
- /package/{dist → lib}/@openglobus/res/fonts/arial.ttf.png +0 -0
- /package/{dist → lib}/@openglobus/res/night-4326.png +0 -0
- /package/{dist → lib}/@openglobus/res/night.png +0 -0
- /package/{dist → lib}/@openglobus/res/spec.png +0 -0
|
@@ -1,15 +1,4 @@
|
|
|
1
|
-
import {Vec3} from "../math/Vec3";
|
|
2
|
-
import {RenderNode} from "../scene/RenderNode";
|
|
3
|
-
|
|
4
|
-
export interface ILightSourceParams {
|
|
5
|
-
position?: Vec3;
|
|
6
|
-
directional?: boolean;
|
|
7
|
-
ambient?: Vec3;
|
|
8
|
-
diffuse?: Vec3;
|
|
9
|
-
specular?: Vec3;
|
|
10
|
-
shininess?: number;
|
|
11
|
-
}
|
|
12
|
-
|
|
1
|
+
import { Vec3 } from "../math/Vec3";
|
|
13
2
|
/**
|
|
14
3
|
* Represents basic light source.
|
|
15
4
|
* @class
|
|
@@ -22,164 +11,81 @@ export interface ILightSourceParams {
|
|
|
22
11
|
* @param {number} [params.shininess] - Specular shininess.
|
|
23
12
|
*/
|
|
24
13
|
class LightSource {
|
|
25
|
-
|
|
26
|
-
static __counter__: number = 0;
|
|
27
|
-
|
|
28
|
-
/**
|
|
29
|
-
* Light name.
|
|
30
|
-
* @protected
|
|
31
|
-
* @type {string}
|
|
32
|
-
*/
|
|
33
|
-
protected _name: string;
|
|
34
|
-
|
|
35
|
-
/**
|
|
36
|
-
* Render node where light is shines.
|
|
37
|
-
* @protected
|
|
38
|
-
* @type {RenderNode}
|
|
39
|
-
*/
|
|
40
|
-
protected _renderNode: RenderNode | null;
|
|
41
|
-
|
|
42
|
-
/**
|
|
43
|
-
* Light position.
|
|
44
|
-
* @public
|
|
45
|
-
* @type {Vec3}
|
|
46
|
-
*/
|
|
47
|
-
public _position: Vec3;
|
|
48
|
-
|
|
49
|
-
/**
|
|
50
|
-
* True if the light is directional.
|
|
51
|
-
* @public
|
|
52
|
-
* @type {boolean}
|
|
53
|
-
*/
|
|
54
|
-
public directional: boolean;
|
|
55
|
-
|
|
56
|
-
/**
|
|
57
|
-
* Ambient color.
|
|
58
|
-
* @protected
|
|
59
|
-
* @type {Vec3}
|
|
60
|
-
*/
|
|
61
|
-
protected _ambient: Vec3;
|
|
62
|
-
|
|
63
|
-
/**
|
|
64
|
-
* Diffuse color.
|
|
65
|
-
* @protected
|
|
66
|
-
* @type {Vec3}
|
|
67
|
-
*/
|
|
68
|
-
protected _diffuse: Vec3;
|
|
69
|
-
|
|
70
|
-
/**
|
|
71
|
-
* Specular color.
|
|
72
|
-
* @protected
|
|
73
|
-
* @type {Vec3}
|
|
74
|
-
*/
|
|
75
|
-
protected _specular: Vec3;
|
|
76
|
-
|
|
77
|
-
/**
|
|
78
|
-
* Shininess.
|
|
79
|
-
* @protected
|
|
80
|
-
* @type {number}
|
|
81
|
-
*/
|
|
82
|
-
protected _shininess: number;
|
|
83
|
-
|
|
84
|
-
/**
|
|
85
|
-
* Light activity.
|
|
86
|
-
* @protected
|
|
87
|
-
* @type {boolean}
|
|
88
|
-
*/
|
|
89
|
-
protected _active: boolean;
|
|
90
|
-
|
|
91
|
-
protected _tempAmbient: Vec3;
|
|
92
|
-
protected _tempDiffuse: Vec3;
|
|
93
|
-
protected _tempSpecular: Vec3;
|
|
94
|
-
protected _tempShininess: number;
|
|
95
|
-
|
|
96
|
-
constructor(name: string, params: ILightSourceParams) {
|
|
97
|
-
|
|
14
|
+
constructor(name, params) {
|
|
98
15
|
/**
|
|
99
16
|
* Light name.
|
|
100
17
|
* @protected
|
|
101
18
|
* @type {string}
|
|
102
19
|
*/
|
|
103
20
|
this._name = name || "light_" + LightSource.__counter__++;
|
|
104
|
-
|
|
105
21
|
/**
|
|
106
22
|
* Render node where light is shines.
|
|
107
23
|
* @protected
|
|
108
24
|
* @type {RenderNode}
|
|
109
25
|
*/
|
|
110
26
|
this._renderNode = null;
|
|
111
|
-
|
|
112
27
|
/**
|
|
113
28
|
* Light position.
|
|
114
29
|
* @public
|
|
115
30
|
* @type {Vec3}
|
|
116
31
|
*/
|
|
117
32
|
this._position = params.position || new Vec3();
|
|
118
|
-
|
|
119
33
|
/**
|
|
120
34
|
* True if the light is directional.
|
|
121
35
|
* @public
|
|
122
36
|
* @type {boolean}
|
|
123
37
|
*/
|
|
124
38
|
this.directional = params.directional != undefined ? params.directional : true;
|
|
125
|
-
|
|
126
39
|
/**
|
|
127
40
|
* Ambient color.
|
|
128
41
|
* @protected
|
|
129
42
|
* @type {Vec3}
|
|
130
43
|
*/
|
|
131
44
|
this._ambient = params.ambient || new Vec3();
|
|
132
|
-
|
|
133
45
|
/**
|
|
134
46
|
* Diffuse color.
|
|
135
47
|
* @protected
|
|
136
48
|
* @type {Vec3}
|
|
137
49
|
*/
|
|
138
50
|
this._diffuse = params.diffuse || new Vec3(0.8, 0.8, 0.8);
|
|
139
|
-
|
|
140
51
|
/**
|
|
141
52
|
* Specular color.
|
|
142
53
|
* @protected
|
|
143
54
|
* @type {Vec3}
|
|
144
55
|
*/
|
|
145
56
|
this._specular = params.specular || new Vec3(0.18, 0.18, 0.18);
|
|
146
|
-
|
|
147
57
|
/**
|
|
148
58
|
* Shininess.
|
|
149
59
|
* @protected
|
|
150
60
|
* @type {number}
|
|
151
61
|
*/
|
|
152
62
|
this._shininess = params.shininess != undefined ? params.shininess : 3.3;
|
|
153
|
-
|
|
154
63
|
/**
|
|
155
64
|
* Light activity.
|
|
156
65
|
* @protected
|
|
157
66
|
* @type {boolean}
|
|
158
67
|
*/
|
|
159
68
|
this._active = true;
|
|
160
|
-
|
|
161
69
|
this._tempAmbient = this._ambient.clone();
|
|
162
70
|
this._tempDiffuse = this._diffuse.clone();
|
|
163
71
|
this._tempSpecular = this._specular.clone();
|
|
164
72
|
this._tempShininess = this._shininess;
|
|
165
73
|
}
|
|
166
|
-
|
|
167
74
|
/**
|
|
168
75
|
* Creates clone of the current light object.
|
|
169
76
|
* @todo: TODO
|
|
170
77
|
* @public
|
|
171
78
|
* @returns {LightSource}
|
|
172
79
|
*/
|
|
173
|
-
|
|
80
|
+
clone() {
|
|
174
81
|
// TODO
|
|
175
82
|
}
|
|
176
|
-
|
|
177
83
|
/**
|
|
178
84
|
* Set light activity. If activity is false the light doesn't shine.
|
|
179
85
|
* @public
|
|
180
86
|
* @param {boolean} active - Light activity.
|
|
181
87
|
*/
|
|
182
|
-
|
|
88
|
+
setActive(active) {
|
|
183
89
|
if (active && !this._active) {
|
|
184
90
|
const rn = this._renderNode;
|
|
185
91
|
if (rn) {
|
|
@@ -190,18 +96,17 @@ class LightSource {
|
|
|
190
96
|
this._ambient.x = rn._lightsParamsv[index] = this._tempAmbient.x;
|
|
191
97
|
this._ambient.y = rn._lightsParamsv[index + 1] = this._tempAmbient.y;
|
|
192
98
|
this._ambient.z = rn._lightsParamsv[index + 2] = this._tempAmbient.z;
|
|
193
|
-
|
|
194
99
|
this._diffuse.x = rn._lightsParamsv[index + 3] = this._tempDiffuse.x;
|
|
195
100
|
this._diffuse.y = rn._lightsParamsv[index + 4] = this._tempDiffuse.y;
|
|
196
101
|
this._diffuse.z = rn._lightsParamsv[index + 5] = this._tempDiffuse.z;
|
|
197
|
-
|
|
198
102
|
this._specular.x = rn._lightsParamsv[index + 6] = this._tempSpecular.x;
|
|
199
103
|
this._specular.y = rn._lightsParamsv[index + 7] = this._tempSpecular.y;
|
|
200
104
|
this._specular.z = rn._lightsParamsv[index + 8] = this._tempSpecular.z;
|
|
201
105
|
}
|
|
202
106
|
}
|
|
203
107
|
this._active = true;
|
|
204
|
-
}
|
|
108
|
+
}
|
|
109
|
+
else if (!active && this._active) {
|
|
205
110
|
this._tempAmbient = this._ambient.clone();
|
|
206
111
|
this._tempDiffuse = this._diffuse.clone();
|
|
207
112
|
this._tempSpecular = this._specular.clone();
|
|
@@ -210,78 +115,70 @@ class LightSource {
|
|
|
210
115
|
this._active = false;
|
|
211
116
|
}
|
|
212
117
|
}
|
|
213
|
-
|
|
214
118
|
/**
|
|
215
119
|
* Gets light activity.
|
|
216
120
|
* @public
|
|
217
121
|
* @returns {boolean}
|
|
218
122
|
*/
|
|
219
|
-
|
|
123
|
+
isActive() {
|
|
220
124
|
return this._active;
|
|
221
125
|
}
|
|
222
|
-
|
|
223
126
|
/**
|
|
224
127
|
* Set light source position, or if it is a directional type sets light direction vector.
|
|
225
128
|
* @public
|
|
226
129
|
* @param {Vec3} position - Light position or direction vector.
|
|
227
130
|
*/
|
|
228
|
-
|
|
131
|
+
setPosition3v(position) {
|
|
229
132
|
this._position.x = position.x;
|
|
230
133
|
this._position.y = position.y;
|
|
231
134
|
this._position.z = position.z;
|
|
232
135
|
}
|
|
233
|
-
|
|
234
136
|
/**
|
|
235
137
|
* Set light source position, or if it is a directional type sets light direction vector.
|
|
236
138
|
* @public
|
|
237
139
|
*/
|
|
238
|
-
|
|
140
|
+
setPosition(x, y, z) {
|
|
239
141
|
this._position.x = x;
|
|
240
142
|
this._position.y = y;
|
|
241
143
|
this._position.z = z;
|
|
242
144
|
}
|
|
243
|
-
|
|
244
145
|
/**
|
|
245
146
|
* Returns light source position, or if it is a directional type sets light direction vector.
|
|
246
147
|
* @public
|
|
247
148
|
* @returns {Vec3} - Light source position/direction.
|
|
248
149
|
*/
|
|
249
|
-
|
|
150
|
+
getPosition() {
|
|
250
151
|
return this._position.clone();
|
|
251
152
|
}
|
|
252
|
-
|
|
253
153
|
/**
|
|
254
154
|
* Set ambient color.
|
|
255
155
|
* @public
|
|
256
156
|
* @param {Vec3} rgb - Ambient color.
|
|
257
157
|
*/
|
|
258
|
-
|
|
158
|
+
setAmbient3v(rgb) {
|
|
259
159
|
this.setAmbient(rgb.x, rgb.y, rgb.z);
|
|
260
160
|
}
|
|
261
|
-
|
|
262
161
|
/**
|
|
263
162
|
* Set diffuse color.
|
|
264
163
|
* @public
|
|
265
164
|
* @param {Vec3} rgb - Diffuse color.
|
|
266
165
|
*/
|
|
267
|
-
|
|
166
|
+
setDiffuse3v(rgb) {
|
|
268
167
|
this.setDiffuse(rgb.x, rgb.y, rgb.z);
|
|
269
168
|
}
|
|
270
|
-
|
|
271
169
|
/**
|
|
272
170
|
* Set specular color.
|
|
273
171
|
* @public
|
|
274
172
|
* @param {Vec3} rgb - Specular color.
|
|
275
173
|
*/
|
|
276
|
-
|
|
174
|
+
setSpecular3v(rgb) {
|
|
277
175
|
this.setSpecular(rgb.x, rgb.y, rgb.z);
|
|
278
176
|
}
|
|
279
|
-
|
|
280
177
|
/**
|
|
281
178
|
* Set ambient color.
|
|
282
179
|
* @public
|
|
283
180
|
*/
|
|
284
|
-
|
|
181
|
+
setAmbient(r, g, b) {
|
|
285
182
|
this._ambient.set(r, g, b);
|
|
286
183
|
const rn = this._renderNode;
|
|
287
184
|
if (rn) {
|
|
@@ -293,12 +190,11 @@ class LightSource {
|
|
|
293
190
|
}
|
|
294
191
|
}
|
|
295
192
|
}
|
|
296
|
-
|
|
297
193
|
/**
|
|
298
194
|
* Set diffuse color.
|
|
299
195
|
* @public
|
|
300
196
|
*/
|
|
301
|
-
|
|
197
|
+
setDiffuse(r, g, b) {
|
|
302
198
|
this._diffuse.set(r, g, b);
|
|
303
199
|
const rn = this._renderNode;
|
|
304
200
|
if (rn) {
|
|
@@ -310,12 +206,11 @@ class LightSource {
|
|
|
310
206
|
}
|
|
311
207
|
}
|
|
312
208
|
}
|
|
313
|
-
|
|
314
209
|
/**
|
|
315
210
|
* Set specular color.
|
|
316
211
|
* @public
|
|
317
212
|
*/
|
|
318
|
-
|
|
213
|
+
setSpecular(r, g, b) {
|
|
319
214
|
this._specular.set(r, g, b);
|
|
320
215
|
const rn = this._renderNode;
|
|
321
216
|
if (rn) {
|
|
@@ -327,12 +222,11 @@ class LightSource {
|
|
|
327
222
|
}
|
|
328
223
|
}
|
|
329
224
|
}
|
|
330
|
-
|
|
331
225
|
/**
|
|
332
226
|
* Set material shininess.
|
|
333
227
|
* @public
|
|
334
228
|
*/
|
|
335
|
-
|
|
229
|
+
setShininess(shininess) {
|
|
336
230
|
this._shininess = shininess;
|
|
337
231
|
const rn = this._renderNode;
|
|
338
232
|
if (rn) {
|
|
@@ -342,12 +236,11 @@ class LightSource {
|
|
|
342
236
|
}
|
|
343
237
|
}
|
|
344
238
|
}
|
|
345
|
-
|
|
346
239
|
/**
|
|
347
240
|
* Sets light to black.
|
|
348
241
|
* @public
|
|
349
242
|
*/
|
|
350
|
-
|
|
243
|
+
setBlack() {
|
|
351
244
|
this._ambient.clear();
|
|
352
245
|
this._diffuse.clear();
|
|
353
246
|
this._specular.clear();
|
|
@@ -362,13 +255,12 @@ class LightSource {
|
|
|
362
255
|
}
|
|
363
256
|
}
|
|
364
257
|
}
|
|
365
|
-
|
|
366
258
|
/**
|
|
367
259
|
* Adds current light to the render node scene.
|
|
368
260
|
* @public
|
|
369
261
|
* @param {RenderNode} renderNode - Render node scene.
|
|
370
262
|
*/
|
|
371
|
-
|
|
263
|
+
addTo(renderNode) {
|
|
372
264
|
this._renderNode = renderNode;
|
|
373
265
|
renderNode._lights.push(this);
|
|
374
266
|
renderNode._lightsNames.push(this._name);
|
|
@@ -378,12 +270,11 @@ class LightSource {
|
|
|
378
270
|
renderNode._lightsParamsv.push.apply(renderNode._lightsParamsv, this._specular.toArray());
|
|
379
271
|
renderNode.transformLights();
|
|
380
272
|
}
|
|
381
|
-
|
|
382
273
|
/**
|
|
383
274
|
* Removes from render node scene.
|
|
384
275
|
* @public
|
|
385
276
|
*/
|
|
386
|
-
|
|
277
|
+
remove() {
|
|
387
278
|
const rn = this._renderNode;
|
|
388
279
|
if (rn) {
|
|
389
280
|
// let li = rn.getLightById(this._name);
|
|
@@ -397,5 +288,5 @@ class LightSource {
|
|
|
397
288
|
this._renderNode = null;
|
|
398
289
|
}
|
|
399
290
|
}
|
|
400
|
-
|
|
401
|
-
export {LightSource};
|
|
291
|
+
LightSource.__counter__ = 0;
|
|
292
|
+
export { LightSource };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Vec2 } from './Vec2';
|
|
2
|
+
export declare class Line2 {
|
|
3
|
+
a: number;
|
|
4
|
+
b: number;
|
|
5
|
+
c: number;
|
|
6
|
+
constructor(a?: number, b?: number, c?: number);
|
|
7
|
+
static get(p0: Vec2, p1: Vec2): Line2;
|
|
8
|
+
static getParallel(l: Line2, p: Vec2): Line2;
|
|
9
|
+
static getIntersection(L0: Line2, L1: Line2): Vec2;
|
|
10
|
+
intersects(l: Line2): Vec2;
|
|
11
|
+
}
|
|
@@ -1,31 +1,21 @@
|
|
|
1
|
-
import {Vec2} from './Vec2';
|
|
2
|
-
|
|
1
|
+
import { Vec2 } from './Vec2';
|
|
3
2
|
export class Line2 {
|
|
4
|
-
|
|
5
|
-
public a: number;
|
|
6
|
-
public b: number;
|
|
7
|
-
public c: number;
|
|
8
|
-
|
|
9
3
|
constructor(a = 0, b = 0, c = 0) {
|
|
10
4
|
this.a = a;
|
|
11
5
|
this.b = b;
|
|
12
6
|
this.c = c;
|
|
13
7
|
}
|
|
14
|
-
|
|
15
|
-
static get(p0: Vec2, p1: Vec2): Line2 {
|
|
8
|
+
static get(p0, p1) {
|
|
16
9
|
return new Line2(p1.y - p0.y, p0.x - p1.x, p1.x * p0.y - p0.x * p1.y);
|
|
17
10
|
}
|
|
18
|
-
|
|
19
|
-
static getParallel(l: Line2, p: Vec2): Line2 {
|
|
11
|
+
static getParallel(l, p) {
|
|
20
12
|
return new Line2(l.a, l.b, -l.a * p.x - l.b * p.y);
|
|
21
13
|
}
|
|
22
|
-
|
|
23
|
-
static getIntersection(L0: Line2, L1: Line2): Vec2 {
|
|
14
|
+
static getIntersection(L0, L1) {
|
|
24
15
|
let x = (L1.b * L0.c - L0.b * L1.c) / (L0.b * L1.a - L1.b * L0.a);
|
|
25
16
|
return new Vec2(x, -(L0.c + L0.a * x) / L0.b);
|
|
26
17
|
}
|
|
27
|
-
|
|
28
|
-
public intersects(l: Line2): Vec2 {
|
|
18
|
+
intersects(l) {
|
|
29
19
|
return Line2.getIntersection(this, l);
|
|
30
20
|
}
|
|
31
21
|
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Sphere } from "../bv/Sphere";
|
|
2
|
+
import { Vec3 } from './Vec3';
|
|
3
|
+
/**
|
|
4
|
+
* @todo: write tests
|
|
5
|
+
* @class Line3
|
|
6
|
+
* Represents a line segment in 3d space.
|
|
7
|
+
* @param {Vec3} [p0] - First point of the line
|
|
8
|
+
* @param {Vec3} [p1] - Second point of the line
|
|
9
|
+
*/
|
|
10
|
+
export declare class Line3 {
|
|
11
|
+
/**
|
|
12
|
+
* First point of the line
|
|
13
|
+
* @public
|
|
14
|
+
* @type: Vec3
|
|
15
|
+
*/
|
|
16
|
+
p0: Vec3;
|
|
17
|
+
/**
|
|
18
|
+
* Second point of the line
|
|
19
|
+
* @public
|
|
20
|
+
* @type: Vec3
|
|
21
|
+
*/
|
|
22
|
+
p1: Vec3;
|
|
23
|
+
constructor(p0?: Vec3, p1?: Vec3);
|
|
24
|
+
getMagnitude(): number;
|
|
25
|
+
getSphereIntersection(sphere: Sphere): [Vec3] | [Vec3, Vec3] | [];
|
|
26
|
+
intersects(line: Line3, res: Vec3, res2?: Vec3): boolean;
|
|
27
|
+
getNearestDistancePoint(point: Vec3, res: Vec3): boolean;
|
|
28
|
+
}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { EPS10 } from '../math';
|
|
2
|
+
import { Vec3 } from './Vec3';
|
|
3
|
+
/**
|
|
4
|
+
* @todo: write tests
|
|
5
|
+
* @class Line3
|
|
6
|
+
* Represents a line segment in 3d space.
|
|
7
|
+
* @param {Vec3} [p0] - First point of the line
|
|
8
|
+
* @param {Vec3} [p1] - Second point of the line
|
|
9
|
+
*/
|
|
10
|
+
export class Line3 {
|
|
11
|
+
constructor(p0, p1) {
|
|
12
|
+
this.p0 = p0 || new Vec3();
|
|
13
|
+
this.p1 = p1 || new Vec3();
|
|
14
|
+
}
|
|
15
|
+
getMagnitude() {
|
|
16
|
+
return this.p0.distance(this.p1);
|
|
17
|
+
}
|
|
18
|
+
getSphereIntersection(sphere) {
|
|
19
|
+
let p0 = this.p0, p1 = this.p1;
|
|
20
|
+
let cx = sphere.center.x, cy = sphere.center.y, cz = sphere.center.z;
|
|
21
|
+
let px = p0.x, py = p0.y, pz = p0.z;
|
|
22
|
+
let vx = p1.x - px, vy = p1.y - py, vz = p1.z - pz;
|
|
23
|
+
let A = vx * vx + vy * vy + vz * vz, B = 2.0 * (px * vx + py * vy + pz * vz - vx * cx - vy * cy - vz * cz), C = px * px - 2 * px * cx + cx * cx + py * py - 2 * py * cy + cy * cy +
|
|
24
|
+
pz * pz - 2 * pz * cz + cz * cz - sphere.radius * sphere.radius;
|
|
25
|
+
let D = B * B - 4 * A * C;
|
|
26
|
+
if (D < 0) {
|
|
27
|
+
// no solutions
|
|
28
|
+
return [];
|
|
29
|
+
}
|
|
30
|
+
let t1 = (-B - Math.sqrt(D)) / (2.0 * A);
|
|
31
|
+
let solution1 = new Vec3(p0.x * (1 - t1) + t1 * p1.x, p0.y * (1 - t1) + t1 * p1.y, p0.z * (1 - t1) + t1 * p1.z);
|
|
32
|
+
if (D == 0) {
|
|
33
|
+
return [solution1];
|
|
34
|
+
}
|
|
35
|
+
let t2 = (-B + Math.sqrt(D)) / (2.0 * A);
|
|
36
|
+
let solution2 = new Vec3(p0.x * (1 - t2) + t2 * p1.x, p0.y * (1 - t2) + t2 * p1.y, p0.z * (1 - t2) + t2 * p1.z);
|
|
37
|
+
// prefer a solution that's on the line segment itself
|
|
38
|
+
if (Math.abs(t1 - 0.5) < Math.abs(t2 - 0.5)) {
|
|
39
|
+
return [solution1, solution2];
|
|
40
|
+
}
|
|
41
|
+
return [solution2, solution1];
|
|
42
|
+
}
|
|
43
|
+
intersects(line, res, res2) {
|
|
44
|
+
let p13 = this.p0.sub(line.p0), p43 = line.p1.sub(line.p0);
|
|
45
|
+
if (Math.abs(p43.x) < EPS10 && Math.abs(p43.y) < EPS10 && Math.abs(p43.z) < EPS10) {
|
|
46
|
+
return false;
|
|
47
|
+
}
|
|
48
|
+
let p21 = this.p1.sub(this.p0);
|
|
49
|
+
if (Math.abs(p21.x) < EPS10 && Math.abs(p21.y) < EPS10 && Math.abs(p21.z) < EPS10) {
|
|
50
|
+
return false;
|
|
51
|
+
}
|
|
52
|
+
let d1343 = p13.x * p43.x + p13.y * p43.y + p13.z * p43.z, d4321 = p43.x * p21.x + p43.y * p21.y + p43.z * p21.z, d1321 = p13.x * p21.x + p13.y * p21.y + p13.z * p21.z, d4343 = p43.x * p43.x + p43.y * p43.y + p43.z * p43.z, d2121 = p21.x * p21.x + p21.y * p21.y + p21.z * p21.z;
|
|
53
|
+
let denom = d2121 * d4343 - d4321 * d4321;
|
|
54
|
+
if (Math.abs(denom) < EPS10) {
|
|
55
|
+
return false;
|
|
56
|
+
}
|
|
57
|
+
let numer = d1343 * d4321 - d1321 * d4343;
|
|
58
|
+
let mua = numer / denom;
|
|
59
|
+
res.x = this.p0.x + mua * p21.x;
|
|
60
|
+
res.y = this.p0.y + mua * p21.y;
|
|
61
|
+
res.z = this.p0.z + mua * p21.z;
|
|
62
|
+
if (res2) {
|
|
63
|
+
let mub = (d1343 + d4321 * mua) / d4343;
|
|
64
|
+
res2.x = line.p0.x + mub * p43.x;
|
|
65
|
+
res2.y = line.p0.y + mub * p43.y;
|
|
66
|
+
res2.z = line.p0.z + mub * p43.z;
|
|
67
|
+
}
|
|
68
|
+
return true;
|
|
69
|
+
}
|
|
70
|
+
getNearestDistancePoint(point, res) {
|
|
71
|
+
let p0 = this.p0, p1 = this.p1;
|
|
72
|
+
let mag = this.getMagnitude();
|
|
73
|
+
let u = (((point.x - p0.x) * (p1.x - p0.x)) +
|
|
74
|
+
((point.y - p0.y) * (p1.y - p0.y)) +
|
|
75
|
+
((point.z - p0.z) * (p1.z - p0.z))) /
|
|
76
|
+
(mag * mag);
|
|
77
|
+
res.x = p0.x + u * (p1.x - p0.x);
|
|
78
|
+
res.y = p0.y + u * (p1.y - p0.y);
|
|
79
|
+
res.z = p0.z + u * (p1.z - p0.z);
|
|
80
|
+
if (u < 0.0 || u > 1.0) {
|
|
81
|
+
return false;
|
|
82
|
+
}
|
|
83
|
+
return true;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { Mat4 } from "./Mat4";
|
|
2
|
+
import { Vec3 } from "./Vec3";
|
|
3
|
+
export type NumberArray9 = [
|
|
4
|
+
number,
|
|
5
|
+
number,
|
|
6
|
+
number,
|
|
7
|
+
number,
|
|
8
|
+
number,
|
|
9
|
+
number,
|
|
10
|
+
number,
|
|
11
|
+
number,
|
|
12
|
+
number
|
|
13
|
+
];
|
|
14
|
+
/**
|
|
15
|
+
* Class represents a 3x3 matrix.
|
|
16
|
+
* @class
|
|
17
|
+
*/
|
|
18
|
+
export declare class Mat3 {
|
|
19
|
+
/**
|
|
20
|
+
* A 3x3 matrix, indexing as a column-major order array.
|
|
21
|
+
* @public
|
|
22
|
+
* @type {Array.<number>}
|
|
23
|
+
*/
|
|
24
|
+
_m: NumberArray9;
|
|
25
|
+
constructor();
|
|
26
|
+
/**
|
|
27
|
+
* Sets column-major order array matrix.
|
|
28
|
+
* @public
|
|
29
|
+
* @param {Array.<number>} m - Matrix array.
|
|
30
|
+
* @returns {Mat3}
|
|
31
|
+
*/
|
|
32
|
+
set(m: NumberArray9): Mat3;
|
|
33
|
+
/**
|
|
34
|
+
* Duplicates a Mat3 instance.
|
|
35
|
+
* @public
|
|
36
|
+
* @returns {Mat3}
|
|
37
|
+
*/
|
|
38
|
+
clone(): Mat3;
|
|
39
|
+
/**
|
|
40
|
+
* Copy matrix.
|
|
41
|
+
* @public
|
|
42
|
+
* @param {Mat3} a - Matrix to copy.
|
|
43
|
+
* @returns {Mat3}
|
|
44
|
+
*/
|
|
45
|
+
copy(a: Mat3): Mat3;
|
|
46
|
+
/**
|
|
47
|
+
* Creates transposed matrix from the current.
|
|
48
|
+
* @public
|
|
49
|
+
* @returns {Mat3}
|
|
50
|
+
*/
|
|
51
|
+
transposeTo(): Mat3;
|
|
52
|
+
/**
|
|
53
|
+
* Sets matrix to identity.
|
|
54
|
+
* @public
|
|
55
|
+
* @returns {Mat3}
|
|
56
|
+
*/
|
|
57
|
+
setIdentity(): Mat3;
|
|
58
|
+
/**
|
|
59
|
+
* Multiply to 3d vector.
|
|
60
|
+
* @public
|
|
61
|
+
* @params {Vec3} p - 3d vector.
|
|
62
|
+
* @returns {Vec3}
|
|
63
|
+
*/
|
|
64
|
+
mulVec(p: Vec3): Vec3;
|
|
65
|
+
/**
|
|
66
|
+
* Converts to 4x4 matrix.
|
|
67
|
+
* @public
|
|
68
|
+
* @returns {Mat4}
|
|
69
|
+
*/
|
|
70
|
+
toMatrix4(): Mat4;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Mat3 factory.
|
|
74
|
+
* @static
|
|
75
|
+
* @return {Mat3}
|
|
76
|
+
*/
|
|
77
|
+
export declare function mat3(): Mat3;
|