@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
package/src/{og/control/drawing/PolygonDrawingScene.js → control/drawing/PolygonDrawingScene.ts}
RENAMED
|
@@ -1,16 +1,26 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
import
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
1
|
+
import * as math from "../../math";
|
|
2
|
+
import {createEvents, EventsHandler} from '../../Events';
|
|
3
|
+
import {CoordinatesType} from "../../entity/Geometry";
|
|
4
|
+
import {Entity} from '../../entity/Entity';
|
|
5
|
+
import {IMouseState} from "../../renderer/RendererEvents";
|
|
6
|
+
import {MouseNavigation} from "../MouseNavigation";
|
|
7
|
+
import {LonLat} from '../../LonLat';
|
|
8
|
+
import {Line3} from '../../math/Line3';
|
|
9
|
+
import {Object3d} from '../../Object3d';
|
|
10
|
+
import {Planet} from '../../scene/Planet';
|
|
11
|
+
import {RenderNode} from '../../scene/RenderNode';
|
|
12
|
+
import {Vec2} from '../../math/Vec2';
|
|
13
|
+
import {Vec3} from '../../math/Vec3';
|
|
14
|
+
import {Vector} from '../../layer/Vector';
|
|
15
|
+
|
|
16
|
+
type PolygonDrawingSceneEventsList = ["change", "startpoint"];
|
|
17
|
+
|
|
18
|
+
const POLYGONDRAWINGSCENE_EVENTS: PolygonDrawingSceneEventsList = ["change", "startpoint"];
|
|
19
|
+
|
|
20
|
+
export interface IPolygonDrawingSceneParams {
|
|
21
|
+
coordinates?: CoordinatesType[];
|
|
22
|
+
name: string;
|
|
23
|
+
}
|
|
14
24
|
|
|
15
25
|
const POINTER_OBJ3D = Object3d.createCylinder(1, 1, 2.0, 20, 1, true, false, 0, -0.5, 0);
|
|
16
26
|
|
|
@@ -43,10 +53,28 @@ export const OUTLINE_OPTIONS = {
|
|
|
43
53
|
}
|
|
44
54
|
|
|
45
55
|
class PolygonDrawingScene extends RenderNode {
|
|
46
|
-
|
|
56
|
+
public events: EventsHandler<PolygonDrawingSceneEventsList>;
|
|
57
|
+
public _planet: Planet | null;
|
|
58
|
+
protected _initCoordinates: CoordinatesType[];
|
|
59
|
+
protected _pickedCorner: Entity | null;
|
|
60
|
+
protected _pickedCenter: Entity | null;
|
|
61
|
+
protected _startPos: Vec2 | null;
|
|
62
|
+
protected _startClick: Vec2;
|
|
63
|
+
protected _geometryLayer: Vector;
|
|
64
|
+
protected _cornerLayer: Vector;
|
|
65
|
+
protected _centerLayer: Vector;
|
|
66
|
+
protected _outlineLayer: Vector;
|
|
67
|
+
protected _ghostCorner: Entity;
|
|
68
|
+
protected _ghostOutlineLayer: Vector;
|
|
69
|
+
protected _showGhostPointer: boolean;
|
|
70
|
+
protected _isStartPoint: boolean;
|
|
71
|
+
protected _insertCornerIndex: number;
|
|
72
|
+
protected _cornerDblClick = false;
|
|
73
|
+
|
|
74
|
+
constructor(options: IPolygonDrawingSceneParams) {
|
|
47
75
|
super(options.name);
|
|
48
76
|
|
|
49
|
-
this.events =
|
|
77
|
+
this.events = createEvents(POLYGONDRAWINGSCENE_EVENTS);
|
|
50
78
|
|
|
51
79
|
this._planet = null;
|
|
52
80
|
|
|
@@ -85,9 +113,6 @@ class PolygonDrawingScene extends RenderNode {
|
|
|
85
113
|
path3v: [],
|
|
86
114
|
isClosed: false,
|
|
87
115
|
...OUTLINE_OPTIONS
|
|
88
|
-
},
|
|
89
|
-
properties: {
|
|
90
|
-
index: 0
|
|
91
116
|
}
|
|
92
117
|
})],
|
|
93
118
|
pickingEnabled: false,
|
|
@@ -95,13 +120,13 @@ class PolygonDrawingScene extends RenderNode {
|
|
|
95
120
|
relativeToGround: true
|
|
96
121
|
});
|
|
97
122
|
|
|
98
|
-
this._outlineLayer.getEntities()[0].polyline
|
|
123
|
+
this._outlineLayer.getEntities()[0].polyline!.altitude = OUTLINE_ALT;
|
|
99
124
|
|
|
100
125
|
//
|
|
101
126
|
// Ghost cursor pointer
|
|
102
127
|
//
|
|
103
128
|
this._ghostCorner = new Entity({
|
|
104
|
-
geoObject: CORNER_OPTIONS
|
|
129
|
+
geoObject: CORNER_OPTIONS
|
|
105
130
|
});
|
|
106
131
|
|
|
107
132
|
this._ghostOutlineLayer = new Vector("ghost-pointer", {
|
|
@@ -119,14 +144,14 @@ class PolygonDrawingScene extends RenderNode {
|
|
|
119
144
|
this._insertCornerIndex = -1;
|
|
120
145
|
}
|
|
121
146
|
|
|
122
|
-
get geometryType() {
|
|
147
|
+
public get geometryType(): string {
|
|
123
148
|
return "Polygon";
|
|
124
149
|
}
|
|
125
150
|
|
|
126
|
-
getCoordinates() {
|
|
151
|
+
public getCoordinates(): CoordinatesType[] {
|
|
127
152
|
let corners = this._cornerLayer.getEntities();
|
|
128
153
|
if (corners.length > 0) {
|
|
129
|
-
return corners.map((c) => {
|
|
154
|
+
return corners.map((c: Entity) => {
|
|
130
155
|
let ll = c.getLonLat();
|
|
131
156
|
return [ll.lon, ll.lat, ll.height];
|
|
132
157
|
});
|
|
@@ -135,11 +160,11 @@ class PolygonDrawingScene extends RenderNode {
|
|
|
135
160
|
}
|
|
136
161
|
}
|
|
137
162
|
|
|
138
|
-
bindPlanet(planet) {
|
|
163
|
+
public bindPlanet(planet: Planet) {
|
|
139
164
|
this._planet = planet;
|
|
140
165
|
}
|
|
141
166
|
|
|
142
|
-
init() {
|
|
167
|
+
public override init() {
|
|
143
168
|
|
|
144
169
|
this._initEvents();
|
|
145
170
|
|
|
@@ -149,22 +174,21 @@ class PolygonDrawingScene extends RenderNode {
|
|
|
149
174
|
this.setCoordinates(this._initCoordinates);
|
|
150
175
|
}
|
|
151
176
|
|
|
152
|
-
this._planet
|
|
153
|
-
this._planet
|
|
154
|
-
this._planet
|
|
177
|
+
this._planet!.addLayer(this._outlineLayer);
|
|
178
|
+
this._planet!.addLayer(this._cornerLayer);
|
|
179
|
+
this._planet!.addLayer(this._centerLayer);
|
|
155
180
|
|
|
156
181
|
this.showGhostPointer();
|
|
157
182
|
this.startNewPoint();
|
|
158
183
|
|
|
159
|
-
this._planet
|
|
184
|
+
(this._planet!.renderer!.controls.mouseNavigation as MouseNavigation).deactivateDoubleClickZoom();
|
|
160
185
|
|
|
161
|
-
this._geometryLayer.addTo(this._planet);
|
|
186
|
+
this._geometryLayer.addTo(this._planet!);
|
|
162
187
|
|
|
163
|
-
this.
|
|
164
|
-
this.events.on("change", this._onChange_, this);
|
|
188
|
+
this.events.on("change", this._onChange, this);
|
|
165
189
|
}
|
|
166
190
|
|
|
167
|
-
_onChange(e) {
|
|
191
|
+
protected _onChange = (e: PolygonDrawingScene) => {
|
|
168
192
|
if (e.geometryType === "Polygon") {
|
|
169
193
|
let coords = this.getCoordinates();
|
|
170
194
|
let entity = new Entity({
|
|
@@ -181,7 +205,7 @@ class PolygonDrawingScene extends RenderNode {
|
|
|
181
205
|
}
|
|
182
206
|
}
|
|
183
207
|
|
|
184
|
-
onremove() {
|
|
208
|
+
override onremove() {
|
|
185
209
|
this._clearEvents();
|
|
186
210
|
this.hideGhostPointer();
|
|
187
211
|
this.stopNewPoint();
|
|
@@ -189,7 +213,7 @@ class PolygonDrawingScene extends RenderNode {
|
|
|
189
213
|
this._geometryLayer.remove();
|
|
190
214
|
}
|
|
191
215
|
|
|
192
|
-
clear() {
|
|
216
|
+
public clear() {
|
|
193
217
|
|
|
194
218
|
this._geometryLayer.clear();
|
|
195
219
|
|
|
@@ -209,7 +233,7 @@ class PolygonDrawingScene extends RenderNode {
|
|
|
209
233
|
let entities = this._outlineLayer.getEntities();
|
|
210
234
|
i = entities.length;
|
|
211
235
|
while (i--) {
|
|
212
|
-
entities[i].polyline
|
|
236
|
+
entities[i].polyline!.clear();
|
|
213
237
|
if (i > 0) {
|
|
214
238
|
entities[i].remove();
|
|
215
239
|
}
|
|
@@ -218,114 +242,112 @@ class PolygonDrawingScene extends RenderNode {
|
|
|
218
242
|
this._clearGhostPointer();
|
|
219
243
|
}
|
|
220
244
|
|
|
221
|
-
setCoordinates(coords) {
|
|
245
|
+
public setCoordinates(coords: CoordinatesType[]) {
|
|
222
246
|
this.clear();
|
|
223
247
|
for (let i = 0; i < coords.length; i++) {
|
|
224
248
|
let ci = coords[i];
|
|
225
|
-
let cart = this._planet
|
|
249
|
+
let cart = this._planet!.ellipsoid.lonLatToCartesian(new LonLat(ci[0], ci[1], ci[2]));
|
|
226
250
|
this._appendCart(cart);
|
|
227
251
|
}
|
|
228
252
|
this.events.dispatch(this.events.change, this);
|
|
229
253
|
}
|
|
230
254
|
|
|
231
|
-
stopNewPoint() {
|
|
255
|
+
public stopNewPoint() {
|
|
232
256
|
if (this.renderer) {
|
|
233
|
-
this.renderer.events.off("ldblclick", this.
|
|
234
|
-
this._onMouseDblClick_ = null;
|
|
257
|
+
this.renderer.events.off("ldblclick", this._onMouseDblClick);
|
|
235
258
|
}
|
|
236
259
|
}
|
|
237
260
|
|
|
238
|
-
startNewPoint() {
|
|
239
|
-
this.
|
|
240
|
-
this.renderer.events.on("ldblclick", this._onMouseDblClick_, this);
|
|
261
|
+
public startNewPoint() {
|
|
262
|
+
this.renderer!.events.on("ldblclick", this._onMouseDblClick, this);
|
|
241
263
|
}
|
|
242
264
|
|
|
243
|
-
showGhostPointer() {
|
|
265
|
+
public showGhostPointer() {
|
|
244
266
|
this._showGhostPointer = true;
|
|
245
|
-
this._planet
|
|
267
|
+
this._planet!.addLayer(this._ghostOutlineLayer);
|
|
246
268
|
this._insertCornerIndex = this._cornerLayer.getEntities().length;
|
|
247
269
|
}
|
|
248
270
|
|
|
249
|
-
hideGhostPointer() {
|
|
271
|
+
public hideGhostPointer() {
|
|
250
272
|
this._showGhostPointer = false;
|
|
251
273
|
this._ghostOutlineLayer.remove();
|
|
252
274
|
this._insertCornerIndex = -1;
|
|
253
275
|
}
|
|
254
276
|
|
|
255
|
-
setGhostPointerPosition(groundPos) {
|
|
277
|
+
public setGhostPointerPosition(groundPos: Vec3) {
|
|
256
278
|
if (groundPos) {
|
|
257
279
|
this._ghostCorner.setCartesian3v(groundPos);
|
|
258
280
|
this._updateGhostOutlinePointer(groundPos);
|
|
259
281
|
}
|
|
260
282
|
}
|
|
261
283
|
|
|
262
|
-
_onCornerMouseEnter(e) {
|
|
263
|
-
e.renderer.handler.canvas
|
|
284
|
+
protected _onCornerMouseEnter = (e: IMouseState) => {
|
|
285
|
+
e.renderer.handler.canvas!.style.cursor = "pointer";
|
|
264
286
|
this.hideGhostPointer();
|
|
265
287
|
}
|
|
266
288
|
|
|
267
|
-
_onCornerMouseLeave(e) {
|
|
268
|
-
e.renderer.handler.canvas
|
|
289
|
+
_onCornerMouseLeave = (e: IMouseState) => {
|
|
290
|
+
e.renderer.handler.canvas!.style.cursor = "default";
|
|
269
291
|
this.showGhostPointer();
|
|
270
292
|
}
|
|
271
293
|
|
|
272
|
-
_onCenterMouseEnter(e) {
|
|
273
|
-
e.renderer.handler.canvas
|
|
294
|
+
_onCenterMouseEnter = (e: IMouseState) => {
|
|
295
|
+
e.renderer.handler.canvas!.style.cursor = "pointer";
|
|
274
296
|
this.hideGhostPointer();
|
|
275
297
|
}
|
|
276
298
|
|
|
277
|
-
_onCenterMouseLeave(e) {
|
|
278
|
-
e.renderer.handler.canvas
|
|
299
|
+
_onCenterMouseLeave = (e: IMouseState) => {
|
|
300
|
+
e.renderer.handler.canvas!.style.cursor = "default";
|
|
279
301
|
if (!(this._pickedCenter || this._pickedCorner)) {
|
|
280
302
|
this.showGhostPointer();
|
|
281
303
|
}
|
|
282
304
|
}
|
|
283
305
|
|
|
284
|
-
_onLup(e) {
|
|
285
|
-
this._planet
|
|
306
|
+
protected _onLup = (e: IMouseState) => {
|
|
307
|
+
(this._planet!.renderer!.controls.mouseNavigation as MouseNavigation).activate();
|
|
286
308
|
if (this._pickedCorner || this._pickedCenter) {
|
|
287
309
|
this.events.dispatch(this.events.change, this);
|
|
288
|
-
this.setGhostPointerPosition(this._planet
|
|
310
|
+
this.setGhostPointerPosition(this._planet!.getCartesianFromPixelTerrain(e)!);
|
|
289
311
|
this.showGhostPointer();
|
|
290
312
|
this._pickedCorner = null;
|
|
291
313
|
this._pickedCenter = null;
|
|
292
314
|
}
|
|
293
315
|
}
|
|
294
316
|
|
|
295
|
-
_getLdown(e) {
|
|
296
|
-
this._planet
|
|
317
|
+
protected _getLdown(e: IMouseState): Entity | null {
|
|
318
|
+
(this._planet!.renderer!.controls.mouseNavigation as MouseNavigation).deactivate();
|
|
297
319
|
this._startClick.set(e.x, e.y);
|
|
298
320
|
let coords = e.pickingObject.getCartesian();
|
|
299
|
-
this._startPos = this._planet
|
|
321
|
+
this._startPos = this._planet!.getPixelFromCartesian(coords);
|
|
300
322
|
return e.pickingObject;
|
|
301
323
|
}
|
|
302
324
|
|
|
303
|
-
_onCornerLdown(e) {
|
|
325
|
+
protected _onCornerLdown = (e: IMouseState) => {
|
|
304
326
|
this._pickedCorner = this._getLdown(e);
|
|
305
327
|
}
|
|
306
328
|
|
|
307
|
-
_onCenterLdown(e) {
|
|
329
|
+
protected _onCenterLdown = (e: IMouseState) => {
|
|
308
330
|
this._pickedCenter = this._getLdown(e);
|
|
309
331
|
}
|
|
310
332
|
|
|
311
|
-
_onMouseMove(e) {
|
|
333
|
+
protected _onMouseMove = (e: IMouseState) => {
|
|
312
334
|
if (this._pickedCenter) {
|
|
313
335
|
this._moveCenterPoint();
|
|
314
336
|
} else if (this._pickedCorner) {
|
|
315
|
-
this._moveCornerPoint(e);
|
|
337
|
+
this._moveCornerPoint(e.pos!);
|
|
316
338
|
} else {
|
|
317
|
-
this.setGhostPointerPosition(this._planet
|
|
339
|
+
this.setGhostPointerPosition(this._planet!.getCartesianFromPixelTerrain(e.pos)!);
|
|
318
340
|
}
|
|
319
341
|
}
|
|
320
342
|
|
|
321
|
-
_onCornerLdblclick(e) {
|
|
343
|
+
protected _onCornerLdblclick = (e: IMouseState) => {
|
|
322
344
|
this._cornerDblClick = true;
|
|
323
345
|
let coords = this.getCoordinates();
|
|
324
346
|
coords.splice(e.pickingObject.layerIndex, 1);
|
|
325
347
|
this.setCoordinates(coords);
|
|
326
348
|
}
|
|
327
349
|
|
|
328
|
-
_onMouseDblClick(e) {
|
|
350
|
+
protected _onMouseDblClick = (e: IMouseState) => {
|
|
329
351
|
|
|
330
352
|
if (this._cornerDblClick) {
|
|
331
353
|
this._cornerDblClick = false;
|
|
@@ -336,7 +358,7 @@ class PolygonDrawingScene extends RenderNode {
|
|
|
336
358
|
return;
|
|
337
359
|
}
|
|
338
360
|
|
|
339
|
-
let cart = this._planet
|
|
361
|
+
let cart = this._planet!.getCartesianFromPixelTerrain(e);
|
|
340
362
|
if (cart) {
|
|
341
363
|
this._addNew(cart);
|
|
342
364
|
if (!this._isStartPoint && this._cornerLayer.getEntities().length > 2) {
|
|
@@ -347,66 +369,36 @@ class PolygonDrawingScene extends RenderNode {
|
|
|
347
369
|
}
|
|
348
370
|
}
|
|
349
371
|
|
|
350
|
-
_initEvents() {
|
|
351
|
-
|
|
352
|
-
this._onCornerLdblclick_ = this._onCornerLdblclick.bind(this);
|
|
353
|
-
this._cornerLayer.events.on("ldblclick", this._onCornerLdblclick_, this);
|
|
354
|
-
|
|
355
|
-
this._onCornerLdown_ = this._onCornerLdown.bind(this);
|
|
356
|
-
this._cornerLayer.events.on("ldown", this._onCornerLdown_, this);
|
|
357
|
-
|
|
358
|
-
this._onCenterLdown_ = this._onCenterLdown.bind(this);
|
|
359
|
-
this._centerLayer.events.on("ldown", this._onCenterLdown_, this);
|
|
360
|
-
|
|
361
|
-
this._onLup_ = this._onLup.bind(this);
|
|
362
|
-
this.renderer.events.on("lup", this._onLup_, this);
|
|
363
|
-
|
|
364
|
-
this._onMouseMove_ = this._onMouseMove.bind(this);
|
|
365
|
-
this.renderer.events.on("mousemove", this._onMouseMove_, this);
|
|
366
|
-
|
|
367
|
-
this._onCornerMouseEnter_ = this._onCornerMouseEnter.bind(this);
|
|
368
|
-
this._cornerLayer.events.on("mouseenter", this._onCornerMouseEnter_, this);
|
|
372
|
+
protected _initEvents() {
|
|
369
373
|
|
|
370
|
-
this.
|
|
371
|
-
this._cornerLayer.events.on("
|
|
374
|
+
this._cornerLayer.events.on("ldblclick", this._onCornerLdblclick, this);
|
|
375
|
+
this._cornerLayer.events.on("ldown", this._onCornerLdown, this);
|
|
376
|
+
this._centerLayer.events.on("ldown", this._onCenterLdown, this);
|
|
372
377
|
|
|
373
|
-
this.
|
|
374
|
-
this.
|
|
378
|
+
this.renderer!.events.on("lup", this._onLup, this);
|
|
379
|
+
this.renderer!.events.on("mousemove", this._onMouseMove, this);
|
|
375
380
|
|
|
376
|
-
this.
|
|
377
|
-
this.
|
|
381
|
+
this._cornerLayer.events.on("mouseenter", this._onCornerMouseEnter, this);
|
|
382
|
+
this._cornerLayer.events.on("mouseleave", this._onCornerMouseLeave, this);
|
|
383
|
+
this._centerLayer.events.on("mouseenter", this._onCenterMouseEnter, this);
|
|
384
|
+
this._centerLayer.events.on("mouseleave", this._onCenterMouseLeave, this);
|
|
378
385
|
}
|
|
379
386
|
|
|
380
|
-
_clearEvents() {
|
|
381
|
-
this._cornerLayer.events.off("ldblclick", this.
|
|
382
|
-
this.
|
|
387
|
+
protected _clearEvents() {
|
|
388
|
+
this._cornerLayer.events.off("ldblclick", this._onCornerLdblclick);
|
|
389
|
+
this._cornerLayer.events.off("ldown", this._onCornerLdown);
|
|
390
|
+
this._centerLayer.events.off("ldown", this._onCenterLdown);
|
|
383
391
|
|
|
384
|
-
this.
|
|
385
|
-
this.
|
|
392
|
+
this.renderer!.events.off("lup", this._onLup);
|
|
393
|
+
this.renderer!.events.off("mousemove", this._onMouseMove);
|
|
386
394
|
|
|
387
|
-
this.
|
|
388
|
-
this.
|
|
389
|
-
|
|
390
|
-
this.
|
|
391
|
-
this._onLup_ = null;
|
|
392
|
-
|
|
393
|
-
this.renderer.events.off("mousemove", this._onMouseMove_);
|
|
394
|
-
this._onMouseMove_ = null;
|
|
395
|
-
|
|
396
|
-
this._cornerLayer.events.off("mouseenter", this._onCornerMouseEnter_);
|
|
397
|
-
this._onCornerMouseEnter_ = null;
|
|
398
|
-
|
|
399
|
-
this._cornerLayer.events.off("mouseleave", this._onCornerMouseLeave_);
|
|
400
|
-
this._onCornerMouseLeave_ = null;
|
|
401
|
-
|
|
402
|
-
this._centerLayer.events.off("mouseenter", this._onCenterMouseEnter_);
|
|
403
|
-
this._onCenterMouseEnter_ = null;
|
|
404
|
-
|
|
405
|
-
this._centerLayer.events.off("mouseleave", this._onCenterMouseLeave_);
|
|
406
|
-
this._onCenterMouseLeave_ = null;
|
|
395
|
+
this._cornerLayer.events.off("mouseenter", this._onCornerMouseEnter);
|
|
396
|
+
this._cornerLayer.events.off("mouseleave", this._onCornerMouseLeave);
|
|
397
|
+
this._centerLayer.events.off("mouseenter", this._onCenterMouseEnter);
|
|
398
|
+
this._centerLayer.events.off("mouseleave", this._onCenterMouseLeave);
|
|
407
399
|
}
|
|
408
400
|
|
|
409
|
-
_drawCorners() {
|
|
401
|
+
protected _drawCorners() {
|
|
410
402
|
let corners = this._cornerLayer.getEntities();
|
|
411
403
|
for (let i = 0; i < corners.length; i++) {
|
|
412
404
|
let ai = corners[i];
|
|
@@ -414,7 +406,7 @@ class PolygonDrawingScene extends RenderNode {
|
|
|
414
406
|
}
|
|
415
407
|
}
|
|
416
408
|
|
|
417
|
-
_drawCenters() {
|
|
409
|
+
protected _drawCenters() {
|
|
418
410
|
let centers = this._centerLayer.getEntities();
|
|
419
411
|
for (let i = 0; i < centers.length; i++) {
|
|
420
412
|
let ai = centers[i];
|
|
@@ -422,21 +414,21 @@ class PolygonDrawingScene extends RenderNode {
|
|
|
422
414
|
}
|
|
423
415
|
}
|
|
424
416
|
|
|
425
|
-
_drawGhostCorner() {
|
|
417
|
+
protected _drawGhostCorner() {
|
|
426
418
|
if (this._showGhostPointer) {
|
|
427
419
|
this._checkTerrainCollision(this._ghostCorner);
|
|
428
420
|
}
|
|
429
421
|
}
|
|
430
422
|
|
|
431
|
-
frame() {
|
|
423
|
+
public override frame() {
|
|
432
424
|
this._drawCorners();
|
|
433
425
|
this._drawCenters();
|
|
434
426
|
this._drawGhostCorner();
|
|
435
427
|
}
|
|
436
428
|
|
|
437
|
-
_checkTerrainCollision(entity) {
|
|
429
|
+
protected _checkTerrainCollision(entity: Entity) {
|
|
438
430
|
let _tempTerrPoint = new Vec3();
|
|
439
|
-
let nodes = this._planet
|
|
431
|
+
let nodes = this._planet!._renderedNodes;
|
|
440
432
|
for (let j = 0; j < nodes.length; j++) {
|
|
441
433
|
let seg = nodes[j].segment;
|
|
442
434
|
if (seg && seg._extentLonLat.isInside(entity.getLonLat())) {
|
|
@@ -447,11 +439,11 @@ class PolygonDrawingScene extends RenderNode {
|
|
|
447
439
|
}
|
|
448
440
|
}
|
|
449
441
|
|
|
450
|
-
_moveCenterPoint() {
|
|
442
|
+
protected _moveCenterPoint() {
|
|
451
443
|
let coords = this.getCoordinates(),
|
|
452
|
-
index = this._pickedCenter
|
|
453
|
-
ll = this._pickedCenter
|
|
454
|
-
let newCorner = [ll.lon, ll.lat, ll.height];
|
|
444
|
+
index = this._pickedCenter!.layerIndex + 1,
|
|
445
|
+
ll = this._pickedCenter!.getLonLat();
|
|
446
|
+
let newCorner: CoordinatesType = [ll.lon, ll.lat, ll.height];
|
|
455
447
|
|
|
456
448
|
coords.splice(index, 0, newCorner);
|
|
457
449
|
|
|
@@ -462,25 +454,21 @@ class PolygonDrawingScene extends RenderNode {
|
|
|
462
454
|
this._pickedCorner = this._cornerLayer.getEntities()[index];
|
|
463
455
|
}
|
|
464
456
|
|
|
465
|
-
|
|
466
|
-
// virtual
|
|
467
|
-
//
|
|
468
|
-
|
|
469
|
-
_addNew(cart) {
|
|
457
|
+
protected _addNew(cart: Vec3) {
|
|
470
458
|
if (this._insertCornerIndex === -1 || this._cornerLayer.getEntities().length < 2) {
|
|
471
459
|
this._appendCart(cart);
|
|
472
460
|
} else {
|
|
473
461
|
let area = this.getCoordinates(),
|
|
474
462
|
index = this._insertCornerIndex;
|
|
475
|
-
let ll = this._planet
|
|
476
|
-
let newCorner = [ll.lon, ll.lat, ll.height];
|
|
463
|
+
let ll = this._planet!.ellipsoid.cartesianToLonLat(cart);
|
|
464
|
+
let newCorner: CoordinatesType = [ll.lon, ll.lat, ll.height];
|
|
477
465
|
area.splice(index, 0, newCorner);
|
|
478
466
|
this.clear();
|
|
479
467
|
this.setCoordinates(area);
|
|
480
468
|
}
|
|
481
469
|
}
|
|
482
470
|
|
|
483
|
-
_appendCart(cart) {
|
|
471
|
+
protected _appendCart(cart: Vec3) {
|
|
484
472
|
let corners = this._cornerLayer.getEntities();
|
|
485
473
|
|
|
486
474
|
let segNum = corners.length - 1;
|
|
@@ -519,19 +507,16 @@ class PolygonDrawingScene extends RenderNode {
|
|
|
519
507
|
firstPath.push(f);
|
|
520
508
|
}
|
|
521
509
|
|
|
522
|
-
this._outlineLayer.getEntities()[0].polyline
|
|
510
|
+
this._outlineLayer.getEntities()[0].polyline!.setPath3v([firstPath]);
|
|
523
511
|
|
|
524
512
|
let entity = new Entity({
|
|
525
513
|
polyline: {
|
|
526
514
|
path3v: [prevPath],
|
|
527
515
|
isClosed: false,
|
|
528
|
-
properties: {
|
|
529
|
-
index: segNum + 1
|
|
530
|
-
},
|
|
531
516
|
...OUTLINE_OPTIONS
|
|
532
517
|
}
|
|
533
518
|
});
|
|
534
|
-
entity.polyline
|
|
519
|
+
entity.polyline!.altitude = OUTLINE_ALT;
|
|
535
520
|
this._outlineLayer.add(entity);
|
|
536
521
|
|
|
537
522
|
let centers = this._centerLayer.getEntities();
|
|
@@ -561,32 +546,33 @@ class PolygonDrawingScene extends RenderNode {
|
|
|
561
546
|
}
|
|
562
547
|
}
|
|
563
548
|
|
|
564
|
-
_clearGhostPointer() {
|
|
565
|
-
this._ghostOutlineLayer
|
|
566
|
-
|
|
549
|
+
protected _clearGhostPointer() {
|
|
550
|
+
const g = this._ghostOutlineLayer;
|
|
551
|
+
g.getEntities()[0].polyline!.clear();
|
|
552
|
+
g.getEntities()[1].polyline!.clear();
|
|
567
553
|
}
|
|
568
554
|
|
|
569
|
-
_moveCornerPoint(e) {
|
|
555
|
+
protected _moveCornerPoint(e: Vec2) {
|
|
570
556
|
let d = new Vec2(e.x, e.y).sub(this._startClick),
|
|
571
|
-
p = this._startPos
|
|
557
|
+
p = this._startPos!.add(d);
|
|
572
558
|
|
|
573
|
-
let groundCoords = this._planet
|
|
559
|
+
let groundCoords = this._planet!.getCartesianFromPixelTerrain(p);
|
|
574
560
|
|
|
575
561
|
if (groundCoords) {
|
|
576
562
|
|
|
577
|
-
this._pickedCorner
|
|
563
|
+
this._pickedCorner!.setCartesian3v(groundCoords);
|
|
578
564
|
|
|
579
565
|
let corners = this._cornerLayer.getEntities();
|
|
580
566
|
|
|
581
567
|
if (corners.length) {
|
|
582
|
-
let ind = this._pickedCorner
|
|
568
|
+
let ind = this._pickedCorner!.layerIndex;
|
|
583
569
|
let size = corners.length;
|
|
584
570
|
|
|
585
571
|
let cartPrev = corners[ind === 0 ? (size - 1) : (ind - 1)].getCartesian(),
|
|
586
572
|
cartNext = corners[(ind + 1) % size].getCartesian();
|
|
587
573
|
|
|
588
|
-
let vecPrev = this._pickedCorner
|
|
589
|
-
vecNext = this._pickedCorner
|
|
574
|
+
let vecPrev = this._pickedCorner!.getCartesian().sub(cartPrev),
|
|
575
|
+
vecNext = this._pickedCorner!.getCartesian().sub(cartNext);
|
|
590
576
|
|
|
591
577
|
let distPrev = vecPrev.length(),
|
|
592
578
|
distNext = vecNext.length();
|
|
@@ -610,8 +596,8 @@ class PolygonDrawingScene extends RenderNode {
|
|
|
610
596
|
let prevPolyline = entities[ind].polyline,
|
|
611
597
|
nextPolyline = entities[(ind + 1) % size].polyline;
|
|
612
598
|
|
|
613
|
-
prevPolyline
|
|
614
|
-
nextPolyline
|
|
599
|
+
prevPolyline?.setPath3v([pathPrev]);
|
|
600
|
+
nextPolyline?.setPath3v([pathNext]);
|
|
615
601
|
|
|
616
602
|
//
|
|
617
603
|
// Move center points
|
|
@@ -631,7 +617,7 @@ class PolygonDrawingScene extends RenderNode {
|
|
|
631
617
|
}
|
|
632
618
|
}
|
|
633
619
|
|
|
634
|
-
_updateGhostOutlinePointer(groundPos) {
|
|
620
|
+
protected _updateGhostOutlinePointer(groundPos: Vec3) {
|
|
635
621
|
|
|
636
622
|
let corners = this._cornerLayer.getEntities();
|
|
637
623
|
let size = corners.length;
|
|
@@ -715,71 +701,32 @@ class PolygonDrawingScene extends RenderNode {
|
|
|
715
701
|
let prevPolyline = entities[0].polyline,
|
|
716
702
|
nextPolyline = entities[1].polyline;
|
|
717
703
|
|
|
718
|
-
prevPolyline
|
|
719
|
-
nextPolyline
|
|
704
|
+
prevPolyline?.setPath3v([pathPrev]);
|
|
705
|
+
nextPolyline?.setPath3v([pathNext]);
|
|
720
706
|
}
|
|
721
707
|
}
|
|
722
708
|
|
|
723
|
-
_initGhostLayerPointer() {
|
|
709
|
+
protected _initGhostLayerPointer() {
|
|
724
710
|
this._ghostOutlineLayer.setEntities([
|
|
725
711
|
new Entity({
|
|
726
712
|
polyline: {
|
|
727
713
|
path3v: [],
|
|
728
714
|
isClosed: false,
|
|
729
715
|
...OUTLINE_OPTIONS
|
|
730
|
-
},
|
|
731
|
-
properties: {
|
|
732
|
-
index: 0
|
|
733
716
|
}
|
|
734
717
|
}), new Entity({
|
|
735
718
|
polyline: {
|
|
736
719
|
path3v: [],
|
|
737
720
|
isClosed: false,
|
|
738
721
|
...OUTLINE_OPTIONS
|
|
739
|
-
},
|
|
740
|
-
properties: {
|
|
741
|
-
index: 0
|
|
742
722
|
}
|
|
743
723
|
}),
|
|
744
724
|
this._ghostCorner
|
|
745
725
|
]);
|
|
746
726
|
|
|
747
|
-
this._ghostOutlineLayer
|
|
748
|
-
|
|
727
|
+
const g = this._ghostOutlineLayer;
|
|
728
|
+
g.getEntities()[0].polyline!.altitude = g.getEntities()[1].polyline!.altitude = OUTLINE_ALT;
|
|
749
729
|
}
|
|
750
730
|
}
|
|
751
731
|
|
|
752
|
-
|
|
753
|
-
"startpoint",
|
|
754
|
-
"change",
|
|
755
|
-
"add",
|
|
756
|
-
"remove",
|
|
757
|
-
"mousemove",
|
|
758
|
-
"mouseenter",
|
|
759
|
-
"mouseleave",
|
|
760
|
-
"lclick",
|
|
761
|
-
"rclick",
|
|
762
|
-
"mclick",
|
|
763
|
-
"ldblclick",
|
|
764
|
-
"rdblclick",
|
|
765
|
-
"mdblclick",
|
|
766
|
-
"lup",
|
|
767
|
-
"rup",
|
|
768
|
-
"mup",
|
|
769
|
-
"ldown",
|
|
770
|
-
"rdown",
|
|
771
|
-
"mdown",
|
|
772
|
-
"lhold",
|
|
773
|
-
"rhold",
|
|
774
|
-
"mhold",
|
|
775
|
-
"mousewheel",
|
|
776
|
-
"touchmove",
|
|
777
|
-
"touchstart",
|
|
778
|
-
"touchend",
|
|
779
|
-
"doubletouch",
|
|
780
|
-
"touchleave",
|
|
781
|
-
"touchenter"
|
|
782
|
-
];
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
export { PolygonDrawingScene };
|
|
732
|
+
export {PolygonDrawingScene};
|