@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,7 +1,8 @@
|
|
|
1
|
-
|
|
1
|
+
import {Quat} from "./Quat";
|
|
2
|
+
import {Vec4, NumberArray4} from "./Vec4";
|
|
3
|
+
import {NumberArray2} from "./Vec2";
|
|
2
4
|
|
|
3
|
-
|
|
4
|
-
import { Vec4 } from "./Vec4.js";
|
|
5
|
+
export type NumberArray3 = [number, number, number];
|
|
5
6
|
|
|
6
7
|
/**
|
|
7
8
|
* Class represents a 3d vector.
|
|
@@ -11,90 +12,94 @@ import { Vec4 } from "./Vec4.js";
|
|
|
11
12
|
* @param {number} [z] - Third value.
|
|
12
13
|
*/
|
|
13
14
|
export class Vec3 {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* @public
|
|
18
|
+
* @type {number}
|
|
19
|
+
*/
|
|
20
|
+
public x: number;
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* @public
|
|
24
|
+
* @type {number}
|
|
25
|
+
*/
|
|
26
|
+
public y: number;
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* @public
|
|
30
|
+
* @type {number}
|
|
31
|
+
*/
|
|
32
|
+
public z: number;
|
|
33
|
+
|
|
34
|
+
constructor(x: number = 0.0, y: number = 0.0, z: number = 0.0) {
|
|
35
|
+
this.x = x;
|
|
36
|
+
this.y = y;
|
|
37
|
+
this.z = z;
|
|
32
38
|
}
|
|
33
39
|
|
|
34
40
|
/** @const */
|
|
35
|
-
static get UP() {
|
|
41
|
+
static get UP(): Vec3 {
|
|
36
42
|
return new Vec3(0, 1, 0);
|
|
37
43
|
}
|
|
38
44
|
|
|
39
45
|
/** @const */
|
|
40
|
-
static get DOWN() {
|
|
46
|
+
static get DOWN(): Vec3 {
|
|
41
47
|
return new Vec3(0, -1, 0);
|
|
42
48
|
}
|
|
43
49
|
|
|
44
50
|
/** @const */
|
|
45
|
-
static get RIGHT() {
|
|
51
|
+
static get RIGHT(): Vec3 {
|
|
46
52
|
return new Vec3(1, 0, 0);
|
|
47
53
|
}
|
|
48
54
|
|
|
49
55
|
/** @const */
|
|
50
|
-
static get LEFT() {
|
|
56
|
+
static get LEFT(): Vec3 {
|
|
51
57
|
return new Vec3(-1, 0, 0);
|
|
52
58
|
}
|
|
53
59
|
|
|
54
60
|
/** @const */
|
|
55
|
-
static get FORWARD() {
|
|
61
|
+
static get FORWARD(): Vec3 {
|
|
56
62
|
return new Vec3(0, 0, -1);
|
|
57
63
|
}
|
|
58
64
|
|
|
59
65
|
/** @const */
|
|
60
|
-
static get BACKWARD() {
|
|
66
|
+
static get BACKWARD(): Vec3 {
|
|
61
67
|
return new Vec3(0, 0, 1);
|
|
62
68
|
}
|
|
63
69
|
|
|
64
70
|
/** @const */
|
|
65
|
-
static get ZERO() {
|
|
71
|
+
static get ZERO(): Vec3 {
|
|
66
72
|
return new Vec3();
|
|
67
73
|
}
|
|
68
74
|
|
|
69
75
|
/** @const */
|
|
70
|
-
static get UNIT_X() {
|
|
76
|
+
static get UNIT_X(): Vec3 {
|
|
71
77
|
return new Vec3(1, 0, 0);
|
|
72
78
|
}
|
|
73
79
|
|
|
74
80
|
/** @const */
|
|
75
|
-
static get UNIT_Y() {
|
|
81
|
+
static get UNIT_Y(): Vec3 {
|
|
76
82
|
return new Vec3(0, 1, 0);
|
|
77
83
|
}
|
|
78
84
|
|
|
79
85
|
/** @const */
|
|
80
|
-
static get UNIT_Z() {
|
|
86
|
+
static get UNIT_Z(): Vec3 {
|
|
81
87
|
return new Vec3(0, 0, 1);
|
|
82
88
|
}
|
|
83
89
|
|
|
84
90
|
/** @const */
|
|
85
|
-
static get NORTH() {
|
|
91
|
+
static get NORTH(): Vec3 {
|
|
86
92
|
return Vec3.UNIT_Z;
|
|
87
93
|
}
|
|
88
94
|
|
|
89
95
|
/**
|
|
90
|
-
* Separate 63 bit Vec3 to two Vec3 32
|
|
96
|
+
* Separate 63 bit Vec3 to two Vec3 32-bit float values.
|
|
91
97
|
* @function
|
|
92
|
-
* @param {
|
|
98
|
+
* @param {Vec3} v - Double type value.
|
|
93
99
|
* @param {Vec3} high - Out vector high values.
|
|
94
100
|
* @param {Vec3} low - Out vector low values.
|
|
95
|
-
* @returns {Array.<number>} Encoded array. (exactly 2 entries)
|
|
96
101
|
*/
|
|
97
|
-
static doubleToTwoFloats(v, high, low) {
|
|
102
|
+
static doubleToTwoFloats(v: Vec3, high: Vec3, low: Vec3) {
|
|
98
103
|
let x = v.x,
|
|
99
104
|
y = v.y,
|
|
100
105
|
z = v.z;
|
|
@@ -131,14 +136,14 @@ export class Vec3 {
|
|
|
131
136
|
}
|
|
132
137
|
|
|
133
138
|
/**
|
|
134
|
-
* Separate 63 bit Vec3 to two Vec3 32
|
|
139
|
+
* Separate 63 bit Vec3 to two Vec3 32-bit float values.
|
|
135
140
|
* @function
|
|
136
|
-
* @param {
|
|
141
|
+
* @param {Vec3} v - Double type value.
|
|
137
142
|
* @param {Float32Array} high - Out vector high values.
|
|
138
143
|
* @param {Float32Array} low - Out vector low values.
|
|
139
144
|
* @returns {Array.<number>} Encoded array. (exactly 2 entries)
|
|
140
145
|
*/
|
|
141
|
-
static doubleToTwoFloat32Array(v, high, low) {
|
|
146
|
+
static doubleToTwoFloat32Array(v: Vec3, high: Float32Array | NumberArray3, low: Float32Array | NumberArray3) {
|
|
142
147
|
let x = v.x,
|
|
143
148
|
y = v.y,
|
|
144
149
|
z = v.z;
|
|
@@ -177,10 +182,10 @@ export class Vec3 {
|
|
|
177
182
|
/**
|
|
178
183
|
* Creates 3d vector from array.
|
|
179
184
|
* @function
|
|
180
|
-
* @param {
|
|
185
|
+
* @param {NumberArray2 | NumberArray3 | NumberArray4} arr - Input array (exactly 3 entries)
|
|
181
186
|
* @returns {Vec3} -
|
|
182
187
|
*/
|
|
183
|
-
static fromVec(arr) {
|
|
188
|
+
static fromVec(arr: NumberArray2 | NumberArray3 | NumberArray4): Vec3 {
|
|
184
189
|
return new Vec3(arr[0], arr[1], arr[2]);
|
|
185
190
|
}
|
|
186
191
|
|
|
@@ -191,7 +196,7 @@ export class Vec3 {
|
|
|
191
196
|
* @param {Vec3} b - Second vector.
|
|
192
197
|
* @returns {number} -
|
|
193
198
|
*/
|
|
194
|
-
static angle(a, b) {
|
|
199
|
+
static angle(a: Vec3, b: Vec3): number {
|
|
195
200
|
return Math.acos(a.dot(b) / Math.sqrt(a.length2() * b.length2()));
|
|
196
201
|
}
|
|
197
202
|
|
|
@@ -203,7 +208,7 @@ export class Vec3 {
|
|
|
203
208
|
* @param {number} l - Interpolate value.
|
|
204
209
|
* @returns {Vec3} -
|
|
205
210
|
*/
|
|
206
|
-
static lerp(v1, v2, l) {
|
|
211
|
+
static lerp(v1: Vec3, v2: Vec3, l: number) {
|
|
207
212
|
return new Vec3(v1.x + (v2.x - v1.x) * l, v1.y + (v2.y - v1.y) * l, v1.z + (v2.z - v1.z) * l);
|
|
208
213
|
}
|
|
209
214
|
|
|
@@ -214,8 +219,8 @@ export class Vec3 {
|
|
|
214
219
|
* @param {Vec3} b - Second vector.
|
|
215
220
|
* @returns {Vec3} - Summary vector.
|
|
216
221
|
*/
|
|
217
|
-
static add(a, b) {
|
|
218
|
-
|
|
222
|
+
static add(a: Vec3, b: Vec3): Vec3 {
|
|
223
|
+
let res = new Vec3(a.x, a.y, a.z);
|
|
219
224
|
res.addA(b);
|
|
220
225
|
return res;
|
|
221
226
|
}
|
|
@@ -227,8 +232,8 @@ export class Vec3 {
|
|
|
227
232
|
* @param {Vec3} b - Second vector.
|
|
228
233
|
* @returns {Vec3} - Vectors subtraction.
|
|
229
234
|
*/
|
|
230
|
-
static sub(a, b) {
|
|
231
|
-
|
|
235
|
+
static sub(a: Vec3, b: Vec3): Vec3 {
|
|
236
|
+
let res = new Vec3(a.x, a.y, a.z);
|
|
232
237
|
res.subA(b);
|
|
233
238
|
return res;
|
|
234
239
|
}
|
|
@@ -240,7 +245,7 @@ export class Vec3 {
|
|
|
240
245
|
* @param {number} scale - Scale value.
|
|
241
246
|
* @returns {Vec3} -
|
|
242
247
|
*/
|
|
243
|
-
static scale(a, scale) {
|
|
248
|
+
static scale(a: Vec3, scale: number): Vec3 {
|
|
244
249
|
return a.scaleTo(scale);
|
|
245
250
|
}
|
|
246
251
|
|
|
@@ -251,21 +256,21 @@ export class Vec3 {
|
|
|
251
256
|
* @param {Vec3} b - Second vector.
|
|
252
257
|
* @returns {Vec3} -
|
|
253
258
|
*/
|
|
254
|
-
static mul(a, b) {
|
|
255
|
-
|
|
259
|
+
static mul(a: Vec3, b: Vec3): Vec3 {
|
|
260
|
+
let res = new Vec3(a.x, a.y, a.z);
|
|
256
261
|
res.mulA(b);
|
|
257
262
|
return res;
|
|
258
263
|
}
|
|
259
264
|
|
|
260
265
|
/**
|
|
261
|
-
* Returns true if two vectors are non
|
|
266
|
+
* Returns true if two vectors are non-collinear.
|
|
262
267
|
* @public
|
|
263
268
|
* @param {Vec3} a - First vector.
|
|
264
269
|
* @param {Vec3} b - Second vector.
|
|
265
270
|
* @returns {Vec3} -
|
|
266
271
|
*/
|
|
267
|
-
static noncollinear(a, b) {
|
|
268
|
-
return a.y * b.z - a.z * b.y || a.z * b.x - a.x * b.z || a.x * b.y - a.y * b.z;
|
|
272
|
+
static noncollinear(a: Vec3, b: Vec3): boolean {
|
|
273
|
+
return Boolean(a.y * b.z - a.z * b.y || a.z * b.x - a.x * b.z || a.x * b.y - a.y * b.z);
|
|
269
274
|
}
|
|
270
275
|
|
|
271
276
|
/**
|
|
@@ -276,8 +281,8 @@ export class Vec3 {
|
|
|
276
281
|
* @param {Vec3} [def] - Default value for non existed result.
|
|
277
282
|
* @returns {Vec3} -
|
|
278
283
|
*/
|
|
279
|
-
static proj_b_to_plane(b, n, def) {
|
|
280
|
-
|
|
284
|
+
static proj_b_to_plane(b: Vec3, n: Vec3, def?: Vec3): Vec3 {
|
|
285
|
+
let res = b.sub(n.scaleTo(n.dot(b) / n.dot(n)));
|
|
281
286
|
if (def && res.isZero()) {
|
|
282
287
|
return new Vec3(def.x, def.y, def.z);
|
|
283
288
|
}
|
|
@@ -291,7 +296,7 @@ export class Vec3 {
|
|
|
291
296
|
* @param {Vec3} a - Second vector.
|
|
292
297
|
* @returns {Vec3} -
|
|
293
298
|
*/
|
|
294
|
-
static proj_b_to_a(b, a) {
|
|
299
|
+
static proj_b_to_a(b: Vec3, a: Vec3): Vec3 {
|
|
295
300
|
return a.scaleTo(a.dot(b) / a.dot(a));
|
|
296
301
|
}
|
|
297
302
|
|
|
@@ -303,8 +308,8 @@ export class Vec3 {
|
|
|
303
308
|
* @param {Vec3} tangent - Tangent vector.
|
|
304
309
|
* @returns {Vec3} -
|
|
305
310
|
*/
|
|
306
|
-
static orthoNormalize(normal, tangent) {
|
|
307
|
-
normal = normal.
|
|
311
|
+
static orthoNormalize(normal: Vec3, tangent: Vec3): Vec3 {
|
|
312
|
+
normal = normal.getNormal();
|
|
308
313
|
normal.scale(tangent.dot(normal));
|
|
309
314
|
return tangent.subA(normal).normalize();
|
|
310
315
|
}
|
|
@@ -316,21 +321,21 @@ export class Vec3 {
|
|
|
316
321
|
* @param {Vec3} b - Second vector.
|
|
317
322
|
* @returns {Vec3} -
|
|
318
323
|
*/
|
|
319
|
-
static div(a, b) {
|
|
320
|
-
|
|
324
|
+
static div(a: Vec3, b: Vec3): Vec3 {
|
|
325
|
+
let res = new Vec3(a.x, a.y, a.z);
|
|
321
326
|
res.divA(b);
|
|
322
327
|
return res;
|
|
323
328
|
}
|
|
324
329
|
|
|
325
|
-
static length2(a) {
|
|
330
|
+
static length2(a: Vec3): number {
|
|
326
331
|
return a.length2();
|
|
327
332
|
}
|
|
328
333
|
|
|
329
|
-
static length(a) {
|
|
330
|
-
|
|
331
|
-
}
|
|
334
|
+
// static length(a: Vec3): number {
|
|
335
|
+
// return a.length();
|
|
336
|
+
// }
|
|
332
337
|
|
|
333
|
-
static dot(a, b) {
|
|
338
|
+
static dot(a: Vec3, b: Vec3): number {
|
|
334
339
|
return a.dot(b);
|
|
335
340
|
}
|
|
336
341
|
|
|
@@ -339,7 +344,7 @@ export class Vec3 {
|
|
|
339
344
|
* @public
|
|
340
345
|
* @returns {Vec4} -
|
|
341
346
|
*/
|
|
342
|
-
toVec4() {
|
|
347
|
+
public toVec4(): Vec4 {
|
|
343
348
|
return new Vec4(this.x, this.y, this.z, 1.0);
|
|
344
349
|
}
|
|
345
350
|
|
|
@@ -348,7 +353,7 @@ export class Vec3 {
|
|
|
348
353
|
* @public
|
|
349
354
|
* @returns {Vec3} -
|
|
350
355
|
*/
|
|
351
|
-
clone() {
|
|
356
|
+
public clone(): Vec3 {
|
|
352
357
|
return new Vec3(this.x, this.y, this.z);
|
|
353
358
|
}
|
|
354
359
|
|
|
@@ -357,8 +362,8 @@ export class Vec3 {
|
|
|
357
362
|
* @public
|
|
358
363
|
* @returns {string} -
|
|
359
364
|
*/
|
|
360
|
-
toString() {
|
|
361
|
-
return
|
|
365
|
+
public toString(): string {
|
|
366
|
+
return `(${this.x},${this.y},${this.z})`;
|
|
362
367
|
}
|
|
363
368
|
|
|
364
369
|
/**
|
|
@@ -366,7 +371,7 @@ export class Vec3 {
|
|
|
366
371
|
* @public
|
|
367
372
|
* @returns {boolean} -
|
|
368
373
|
*/
|
|
369
|
-
isZero() {
|
|
374
|
+
public isZero(): boolean {
|
|
370
375
|
return !(this.x || this.y || this.z);
|
|
371
376
|
}
|
|
372
377
|
|
|
@@ -376,7 +381,7 @@ export class Vec3 {
|
|
|
376
381
|
* @param {Vec3} a - Project vector.
|
|
377
382
|
* @returns {Vec3} -
|
|
378
383
|
*/
|
|
379
|
-
projToVec(a) {
|
|
384
|
+
public projToVec(a: Vec3): Vec3 {
|
|
380
385
|
return a.scaleTo(a.dot(this) / a.dot(a));
|
|
381
386
|
}
|
|
382
387
|
|
|
@@ -386,7 +391,7 @@ export class Vec3 {
|
|
|
386
391
|
* @param {Vec3} p - Vector to compare.
|
|
387
392
|
* @returns {boolean} -
|
|
388
393
|
*/
|
|
389
|
-
equal(p) {
|
|
394
|
+
public equal(p: Vec3): boolean {
|
|
390
395
|
return this.x === p.x && this.y === p.y && this.z === p.z;
|
|
391
396
|
}
|
|
392
397
|
|
|
@@ -395,7 +400,7 @@ export class Vec3 {
|
|
|
395
400
|
* @param {Vec3} p - Vector to copy.
|
|
396
401
|
* @returns {Vec3} -
|
|
397
402
|
*/
|
|
398
|
-
copy(p) {
|
|
403
|
+
public copy(p: Vec3): Vec3 {
|
|
399
404
|
this.x = p.x;
|
|
400
405
|
this.y = p.y;
|
|
401
406
|
this.z = p.z;
|
|
@@ -407,7 +412,7 @@ export class Vec3 {
|
|
|
407
412
|
* @public
|
|
408
413
|
* @returns {number} -
|
|
409
414
|
*/
|
|
410
|
-
length() {
|
|
415
|
+
public length(): number {
|
|
411
416
|
return Math.sqrt(this.x * this.x + this.y * this.y + this.z * this.z);
|
|
412
417
|
}
|
|
413
418
|
|
|
@@ -416,7 +421,7 @@ export class Vec3 {
|
|
|
416
421
|
* @public
|
|
417
422
|
* @returns {number} -
|
|
418
423
|
*/
|
|
419
|
-
length2() {
|
|
424
|
+
public length2(): number {
|
|
420
425
|
return this.x * this.x + this.y * this.y + this.z * this.z;
|
|
421
426
|
}
|
|
422
427
|
|
|
@@ -425,7 +430,7 @@ export class Vec3 {
|
|
|
425
430
|
* @public
|
|
426
431
|
* @returns {Quat} -
|
|
427
432
|
*/
|
|
428
|
-
getQuat() {
|
|
433
|
+
public getQuat(): Quat {
|
|
429
434
|
return new Quat(this.x, this.y, this.z);
|
|
430
435
|
}
|
|
431
436
|
|
|
@@ -435,7 +440,7 @@ export class Vec3 {
|
|
|
435
440
|
* @param {Vec3} p - Point to add.
|
|
436
441
|
* @returns {Vec3} -
|
|
437
442
|
*/
|
|
438
|
-
addA(p) {
|
|
443
|
+
public addA(p: Vec3): Vec3 {
|
|
439
444
|
this.x += p.x;
|
|
440
445
|
this.y += p.y;
|
|
441
446
|
this.z += p.z;
|
|
@@ -448,7 +453,7 @@ export class Vec3 {
|
|
|
448
453
|
* @param {Vec3} p - Vector to add.
|
|
449
454
|
* @returns {Vec3} Returns a sum vector.
|
|
450
455
|
*/
|
|
451
|
-
add(p) {
|
|
456
|
+
public add(p: Vec3): Vec3 {
|
|
452
457
|
return new Vec3(this.x + p.x, this.y + p.y, this.z + p.z);
|
|
453
458
|
}
|
|
454
459
|
|
|
@@ -458,7 +463,7 @@ export class Vec3 {
|
|
|
458
463
|
* @param {Vec3} p - Subtract vector.
|
|
459
464
|
* @returns {Vec3} -
|
|
460
465
|
*/
|
|
461
|
-
subA(p) {
|
|
466
|
+
public subA(p: Vec3): Vec3 {
|
|
462
467
|
this.x -= p.x;
|
|
463
468
|
this.y -= p.y;
|
|
464
469
|
this.z -= p.z;
|
|
@@ -471,7 +476,7 @@ export class Vec3 {
|
|
|
471
476
|
* @param {Vec3} p - Subtract vector.
|
|
472
477
|
* @return {Vec3} Returns new instance of a subtraction
|
|
473
478
|
*/
|
|
474
|
-
sub(p) {
|
|
479
|
+
public sub(p: Vec3): Vec3 {
|
|
475
480
|
return new Vec3(this.x - p.x, this.y - p.y, this.z - p.z);
|
|
476
481
|
}
|
|
477
482
|
|
|
@@ -481,7 +486,7 @@ export class Vec3 {
|
|
|
481
486
|
* @param {number} scale - Scale value.
|
|
482
487
|
* @returns {Vec3} -
|
|
483
488
|
*/
|
|
484
|
-
scale(scale) {
|
|
489
|
+
public scale(scale: number): Vec3 {
|
|
485
490
|
this.x *= scale;
|
|
486
491
|
this.y *= scale;
|
|
487
492
|
this.z *= scale;
|
|
@@ -494,7 +499,7 @@ export class Vec3 {
|
|
|
494
499
|
* @param {number} scale - Scale value.
|
|
495
500
|
* @returns {Vec3} -
|
|
496
501
|
*/
|
|
497
|
-
scaleTo(scale) {
|
|
502
|
+
public scaleTo(scale: number): Vec3 {
|
|
498
503
|
return new Vec3(this.x * scale, this.y * scale, this.z * scale);
|
|
499
504
|
}
|
|
500
505
|
|
|
@@ -504,7 +509,7 @@ export class Vec3 {
|
|
|
504
509
|
* @param {Vec3} vec - Multiply vector.
|
|
505
510
|
* @returns {Vec3} -
|
|
506
511
|
*/
|
|
507
|
-
mulA(vec) {
|
|
512
|
+
public mulA(vec: Vec3): Vec3 {
|
|
508
513
|
this.x *= vec.x;
|
|
509
514
|
this.y *= vec.y;
|
|
510
515
|
this.z *= vec.z;
|
|
@@ -517,7 +522,7 @@ export class Vec3 {
|
|
|
517
522
|
* @param {Vec3} vec - Multiply vector.
|
|
518
523
|
* @returns {Vec3} -
|
|
519
524
|
*/
|
|
520
|
-
mul(vec) {
|
|
525
|
+
public mul(vec: Vec3): Vec3 {
|
|
521
526
|
return new Vec3(this.x * vec.x, this.y * vec.y, this.z * vec.z);
|
|
522
527
|
}
|
|
523
528
|
|
|
@@ -527,7 +532,7 @@ export class Vec3 {
|
|
|
527
532
|
* @param {Vec3} vec - Div vector.
|
|
528
533
|
* @returns {Vec3} -
|
|
529
534
|
*/
|
|
530
|
-
divA(vec) {
|
|
535
|
+
public divA(vec: Vec3): Vec3 {
|
|
531
536
|
this.x /= vec.x;
|
|
532
537
|
this.y /= vec.y;
|
|
533
538
|
this.z /= vec.z;
|
|
@@ -540,7 +545,7 @@ export class Vec3 {
|
|
|
540
545
|
* @param {Vec3} vec - Div vector.
|
|
541
546
|
* @returns {Vec3} -
|
|
542
547
|
*/
|
|
543
|
-
div(vec) {
|
|
548
|
+
public div(vec: Vec3): Vec3 {
|
|
544
549
|
return new Vec3(this.x / vec.x, this.y / vec.y, this.z / vec.z);
|
|
545
550
|
}
|
|
546
551
|
|
|
@@ -550,7 +555,7 @@ export class Vec3 {
|
|
|
550
555
|
* @param {Vec3} a - Another vector.
|
|
551
556
|
* @returns {number} -
|
|
552
557
|
*/
|
|
553
|
-
dot(a) {
|
|
558
|
+
public dot(a: Vec3): number {
|
|
554
559
|
return a.x * this.x + a.y * this.y + a.z * this.z;
|
|
555
560
|
}
|
|
556
561
|
|
|
@@ -560,7 +565,7 @@ export class Vec3 {
|
|
|
560
565
|
* @param {Array.<number>} arr - Array vector. (exactly 3 entries)
|
|
561
566
|
* @returns {number} -
|
|
562
567
|
*/
|
|
563
|
-
dotArr(arr) {
|
|
568
|
+
public dotArr(arr: NumberArray3 | NumberArray4): number {
|
|
564
569
|
return arr[0] * this.x + arr[1] * this.y + arr[2] * this.z;
|
|
565
570
|
}
|
|
566
571
|
|
|
@@ -570,7 +575,7 @@ export class Vec3 {
|
|
|
570
575
|
* @param {Vec3} point3 - Another vector.
|
|
571
576
|
* @returns {Vec3} -
|
|
572
577
|
*/
|
|
573
|
-
cross(point3) {
|
|
578
|
+
public cross(point3: Vec3): Vec3 {
|
|
574
579
|
return new Vec3(
|
|
575
580
|
this.y * point3.z - this.z * point3.y,
|
|
576
581
|
this.z * point3.x - this.x * point3.z,
|
|
@@ -583,7 +588,7 @@ export class Vec3 {
|
|
|
583
588
|
* @public
|
|
584
589
|
* @returns {Vec3} -
|
|
585
590
|
*/
|
|
586
|
-
clear() {
|
|
591
|
+
public clear(): Vec3 {
|
|
587
592
|
this.x = this.y = this.z = 0;
|
|
588
593
|
return this;
|
|
589
594
|
}
|
|
@@ -593,11 +598,11 @@ export class Vec3 {
|
|
|
593
598
|
* @public
|
|
594
599
|
* @returns {Vec3} -
|
|
595
600
|
*/
|
|
596
|
-
getNormal() {
|
|
597
|
-
|
|
601
|
+
public getNormal(): Vec3 {
|
|
602
|
+
let res = new Vec3();
|
|
598
603
|
res.copy(this);
|
|
599
604
|
|
|
600
|
-
|
|
605
|
+
let length = 1.0 / res.length();
|
|
601
606
|
|
|
602
607
|
res.x *= length;
|
|
603
608
|
res.y *= length;
|
|
@@ -612,11 +617,11 @@ export class Vec3 {
|
|
|
612
617
|
* @public
|
|
613
618
|
* @returns {Vec3} -
|
|
614
619
|
*/
|
|
615
|
-
normal() {
|
|
616
|
-
|
|
620
|
+
public normal(): Vec3 {
|
|
621
|
+
let res = new Vec3();
|
|
617
622
|
res.copy(this);
|
|
618
623
|
|
|
619
|
-
|
|
624
|
+
let length = 1.0 / res.length();
|
|
620
625
|
|
|
621
626
|
res.x *= length;
|
|
622
627
|
res.y *= length;
|
|
@@ -630,11 +635,11 @@ export class Vec3 {
|
|
|
630
635
|
* @public
|
|
631
636
|
* @returns {Vec3} -
|
|
632
637
|
*/
|
|
633
|
-
normalNegate() {
|
|
634
|
-
|
|
638
|
+
public normalNegate(): Vec3 {
|
|
639
|
+
let res = new Vec3();
|
|
635
640
|
res.copy(this);
|
|
636
641
|
|
|
637
|
-
|
|
642
|
+
let length = -1.0 / res.length();
|
|
638
643
|
|
|
639
644
|
res.x *= length;
|
|
640
645
|
res.y *= length;
|
|
@@ -648,11 +653,11 @@ export class Vec3 {
|
|
|
648
653
|
* @public
|
|
649
654
|
* @returns {Vec3} -
|
|
650
655
|
*/
|
|
651
|
-
normalNegateScale(scale) {
|
|
652
|
-
|
|
656
|
+
public normalNegateScale(scale: number): Vec3 {
|
|
657
|
+
let res = new Vec3();
|
|
653
658
|
res.copy(this);
|
|
654
659
|
|
|
655
|
-
|
|
660
|
+
let length = -scale / res.length();
|
|
656
661
|
|
|
657
662
|
res.x *= length;
|
|
658
663
|
res.y *= length;
|
|
@@ -666,11 +671,11 @@ export class Vec3 {
|
|
|
666
671
|
* @public
|
|
667
672
|
* @returns {Vec3} -
|
|
668
673
|
*/
|
|
669
|
-
normalScale(scale) {
|
|
670
|
-
|
|
674
|
+
public normalScale(scale: number): Vec3 {
|
|
675
|
+
let res = new Vec3();
|
|
671
676
|
res.copy(this);
|
|
672
677
|
|
|
673
|
-
|
|
678
|
+
let length = scale / res.length();
|
|
674
679
|
|
|
675
680
|
res.x *= length;
|
|
676
681
|
res.y *= length;
|
|
@@ -684,13 +689,11 @@ export class Vec3 {
|
|
|
684
689
|
* @public
|
|
685
690
|
* @returns {Vec3} -
|
|
686
691
|
*/
|
|
687
|
-
normalize() {
|
|
688
|
-
|
|
689
|
-
|
|
692
|
+
public normalize(): Vec3 {
|
|
693
|
+
let length = 1.0 / this.length();
|
|
690
694
|
this.x *= length;
|
|
691
695
|
this.y *= length;
|
|
692
696
|
this.z *= length;
|
|
693
|
-
|
|
694
697
|
return this;
|
|
695
698
|
}
|
|
696
699
|
|
|
@@ -700,7 +703,7 @@ export class Vec3 {
|
|
|
700
703
|
* @returns {Array.<number>} - (exactly 3 entries)
|
|
701
704
|
* @deprecated
|
|
702
705
|
*/
|
|
703
|
-
toVec() {
|
|
706
|
+
public toVec(): NumberArray3 {
|
|
704
707
|
return [this.x, this.y, this.z];
|
|
705
708
|
}
|
|
706
709
|
|
|
@@ -709,7 +712,7 @@ export class Vec3 {
|
|
|
709
712
|
* @public
|
|
710
713
|
* @returns {Array.<number>} - (exactly 3 entries)
|
|
711
714
|
*/
|
|
712
|
-
toArray() {
|
|
715
|
+
public toArray(): NumberArray3 {
|
|
713
716
|
return [this.x, this.y, this.z];
|
|
714
717
|
}
|
|
715
718
|
|
|
@@ -719,7 +722,7 @@ export class Vec3 {
|
|
|
719
722
|
* @param {Vec3} p - Distant point.
|
|
720
723
|
* @returns {number} -
|
|
721
724
|
*/
|
|
722
|
-
distance(p) {
|
|
725
|
+
public distance(p: Vec3): number {
|
|
723
726
|
let dx = this.x - p.x,
|
|
724
727
|
dy = this.y - p.y,
|
|
725
728
|
dz = this.z - p.z;
|
|
@@ -732,7 +735,7 @@ export class Vec3 {
|
|
|
732
735
|
* @param {Vec3} p - Distant point.
|
|
733
736
|
* @returns {number} -
|
|
734
737
|
*/
|
|
735
|
-
distance2(p) {
|
|
738
|
+
public distance2(p: Vec3): number {
|
|
736
739
|
let dx = this.x - p.x,
|
|
737
740
|
dy = this.y - p.y,
|
|
738
741
|
dz = this.z - p.z;
|
|
@@ -747,7 +750,7 @@ export class Vec3 {
|
|
|
747
750
|
* @param {number} z - Value Z.
|
|
748
751
|
* @returns {Vec3} -
|
|
749
752
|
*/
|
|
750
|
-
set(x, y, z) {
|
|
753
|
+
public set(x: number, y: number, z: number): Vec3 {
|
|
751
754
|
this.x = x;
|
|
752
755
|
this.y = y;
|
|
753
756
|
this.z = z;
|
|
@@ -759,7 +762,7 @@ export class Vec3 {
|
|
|
759
762
|
* @public
|
|
760
763
|
* @returns {Vec3} -
|
|
761
764
|
*/
|
|
762
|
-
negate() {
|
|
765
|
+
public negate(): Vec3 {
|
|
763
766
|
this.x = -this.x;
|
|
764
767
|
this.y = -this.y;
|
|
765
768
|
this.z = -this.z;
|
|
@@ -771,7 +774,7 @@ export class Vec3 {
|
|
|
771
774
|
* @public
|
|
772
775
|
* @returns {Vec3} -
|
|
773
776
|
*/
|
|
774
|
-
negateTo() {
|
|
777
|
+
public negateTo(): Vec3 {
|
|
775
778
|
return new Vec3(-this.x, -this.y, -this.z);
|
|
776
779
|
}
|
|
777
780
|
|
|
@@ -782,8 +785,8 @@ export class Vec3 {
|
|
|
782
785
|
* @param {Vec3} direction - Ray direction.
|
|
783
786
|
* @returns {Vec3} -
|
|
784
787
|
*/
|
|
785
|
-
projToRay(pos, direction) {
|
|
786
|
-
|
|
788
|
+
public projToRay(pos: Vec3, direction: Vec3): Vec3 {
|
|
789
|
+
let v = Vec3.proj_b_to_a(Vec3.sub(this, pos), direction);
|
|
787
790
|
v.addA(pos);
|
|
788
791
|
return v;
|
|
789
792
|
}
|
|
@@ -794,7 +797,7 @@ export class Vec3 {
|
|
|
794
797
|
* @param {Vec3} a - Another vector.
|
|
795
798
|
* @returns {number} -
|
|
796
799
|
*/
|
|
797
|
-
angle(a) {
|
|
800
|
+
public angle(a: Vec3): number {
|
|
798
801
|
return Vec3.angle(this, a);
|
|
799
802
|
}
|
|
800
803
|
|
|
@@ -805,7 +808,7 @@ export class Vec3 {
|
|
|
805
808
|
* @param {number} l - Interpolate value.
|
|
806
809
|
* @returns {Vec3} -
|
|
807
810
|
*/
|
|
808
|
-
lerp(v2, l) {
|
|
811
|
+
public lerp(v2: Vec3, l: number) {
|
|
809
812
|
return new Vec3(
|
|
810
813
|
this.x + (v2.x - this.x) * l,
|
|
811
814
|
this.y + (v2.y - this.y) * l,
|
|
@@ -820,8 +823,8 @@ export class Vec3 {
|
|
|
820
823
|
* @param {number} t - Interpolate value.
|
|
821
824
|
* @returns {Vec3} -
|
|
822
825
|
*/
|
|
823
|
-
smerp(v2, t) {
|
|
824
|
-
|
|
826
|
+
public smerp(v2: Vec3, t: number): Vec3 {
|
|
827
|
+
let one_d = 1 - t;
|
|
825
828
|
return new Vec3(
|
|
826
829
|
this.x * t + v2.x * one_d,
|
|
827
830
|
this.y * t + v2.y * one_d,
|
|
@@ -829,7 +832,7 @@ export class Vec3 {
|
|
|
829
832
|
);
|
|
830
833
|
}
|
|
831
834
|
|
|
832
|
-
static get LERP_DELTA() {
|
|
835
|
+
static get LERP_DELTA(): number {
|
|
833
836
|
return 1e-6;
|
|
834
837
|
}
|
|
835
838
|
|
|
@@ -843,19 +846,19 @@ export class Vec3 {
|
|
|
843
846
|
* @param {number} t - The parameter t is clamped to the range [0, 1].
|
|
844
847
|
* @returns {Vec3} -
|
|
845
848
|
*/
|
|
846
|
-
slerp(v2, t) {
|
|
847
|
-
|
|
849
|
+
public slerp(v2: Vec3, t: number): Vec3 {
|
|
850
|
+
let res = new Vec3();
|
|
848
851
|
|
|
849
852
|
if (t <= 0.0) {
|
|
850
853
|
res.copy(this);
|
|
851
|
-
return;
|
|
854
|
+
return res;
|
|
852
855
|
} else if (t >= 1.0) {
|
|
853
856
|
res.copy(v2);
|
|
854
|
-
return;
|
|
857
|
+
return res;
|
|
855
858
|
}
|
|
856
859
|
|
|
857
|
-
|
|
858
|
-
|
|
860
|
+
let omega, sinom, scale0, scale1;
|
|
861
|
+
let cosom = this.dot(v2);
|
|
859
862
|
|
|
860
863
|
if (1.0 - cosom > Vec3.LERP_DELTA) {
|
|
861
864
|
omega = Math.acos(cosom);
|
|
@@ -877,7 +880,7 @@ export class Vec3 {
|
|
|
877
880
|
* @returns {Quat} -
|
|
878
881
|
* @todo: TEST IT!
|
|
879
882
|
*/
|
|
880
|
-
getRotationTo(dest, fallbackAxis) {
|
|
883
|
+
public getRotationTo(dest: Vec3, fallbackAxis: Vec3): Quat {
|
|
881
884
|
// Based on Stan Melax's article in Game Programming Gems
|
|
882
885
|
// Copy, since cannot modify local
|
|
883
886
|
let v0 = this.clone();
|
|
@@ -892,9 +895,9 @@ export class Vec3 {
|
|
|
892
895
|
}
|
|
893
896
|
|
|
894
897
|
if (d < 1e-6 - 1.0) {
|
|
895
|
-
if (!fallbackAxis.
|
|
898
|
+
if (!fallbackAxis.equal(Vec3.ZERO)) {
|
|
896
899
|
// rotate 180 degrees about the fallback axis
|
|
897
|
-
return Quat.axisAngleToQuat(Math.PI
|
|
900
|
+
return Quat.axisAngleToQuat(fallbackAxis, Math.PI);
|
|
898
901
|
} else {
|
|
899
902
|
// Generate an axis
|
|
900
903
|
let axis = Vec3.UNIT_X.cross(v0);
|
|
@@ -903,16 +906,14 @@ export class Vec3 {
|
|
|
903
906
|
axis = Vec3.UNIT_Y.cross(v0);
|
|
904
907
|
}
|
|
905
908
|
axis.normalize();
|
|
906
|
-
return Quat.axisAngleToQuat(Math.PI
|
|
909
|
+
return Quat.axisAngleToQuat(axis, Math.PI);
|
|
907
910
|
}
|
|
908
911
|
} else {
|
|
909
912
|
let s = Math.sqrt((1 + d) * 2);
|
|
910
913
|
let invs = 1.0 / s;
|
|
911
|
-
|
|
912
914
|
let c = v0.cross(v1);
|
|
913
|
-
|
|
914
915
|
let q = new Quat(c.x * invs, c.y * invs, c.z * invs, s * 0.5);
|
|
915
|
-
q.
|
|
916
|
+
q.normalize();
|
|
916
917
|
return q;
|
|
917
918
|
}
|
|
918
919
|
}
|
|
@@ -921,11 +922,11 @@ export class Vec3 {
|
|
|
921
922
|
/**
|
|
922
923
|
* Vector 3d object creator.
|
|
923
924
|
* @function
|
|
924
|
-
* @param {number} [x] -
|
|
925
|
-
* @param {number} [y] -
|
|
926
|
-
* @param {number} [z] -
|
|
925
|
+
* @param {number} [x] - value X.
|
|
926
|
+
* @param {number} [y] - value Y.
|
|
927
|
+
* @param {number} [z] - value Z.
|
|
927
928
|
* @returns {Vec3} -
|
|
928
929
|
*/
|
|
929
|
-
export function vec3(x, y, z) {
|
|
930
|
+
export function vec3(x: number = 0, y: number = 0, z: number = 0): Vec3 {
|
|
930
931
|
return new Vec3(x, y, z);
|
|
931
932
|
}
|