@openglobus/og 0.17.2 → 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} +246 -182
- 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 -256
- 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} +776 -592
- 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 -172
- 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 -195
- 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 -1170
- 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 -17
- 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 -241
- 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 -594
- 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,12 +1,140 @@
|
|
|
1
|
-
|
|
1
|
+
import {Events, EventsHandler, EventCallback} from "../Events";
|
|
2
|
+
import {input} from "../input/input";
|
|
3
|
+
import {KeyboardHandler} from "../input/KeyboardHandler";
|
|
4
|
+
import {MouseHandler, MouseHandlerEvent, MouseEventExt} from "../input/MouseHandler";
|
|
5
|
+
import {Renderer} from "./Renderer";
|
|
6
|
+
import {TouchEventExt, TouchHandler} from "../input/TouchHandler";
|
|
7
|
+
import {Vec2} from "../math/Vec2";
|
|
8
|
+
import {NumberArray3, Vec3} from "../math/Vec3";
|
|
9
|
+
|
|
10
|
+
export type RendererEventsHandler = RendererEvents & EventsHandler<RendererEventsType>;
|
|
11
|
+
|
|
12
|
+
export function createRendererEvents(renderer: Renderer) {
|
|
13
|
+
return new RendererEvents(renderer);
|
|
14
|
+
}
|
|
2
15
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
16
|
+
export type RendererEventsType = [
|
|
17
|
+
"draw",
|
|
18
|
+
"postdraw",
|
|
19
|
+
"resize",
|
|
20
|
+
"resizeend",
|
|
21
|
+
"mouseenter",
|
|
22
|
+
"mouseleave",
|
|
23
|
+
"mousemove",
|
|
24
|
+
"mousestop",
|
|
25
|
+
"lclick",
|
|
26
|
+
"rclick",
|
|
27
|
+
"mclick",
|
|
28
|
+
"ldblclick",
|
|
29
|
+
"rdblclick",
|
|
30
|
+
"mdblclick",
|
|
31
|
+
"lup",
|
|
32
|
+
"rup",
|
|
33
|
+
"mup",
|
|
34
|
+
"ldown",
|
|
35
|
+
"rdown",
|
|
36
|
+
"mdown",
|
|
37
|
+
"lhold",
|
|
38
|
+
"rhold",
|
|
39
|
+
"mhold",
|
|
40
|
+
"mousewheel",
|
|
41
|
+
"touchstart",
|
|
42
|
+
"touchend",
|
|
43
|
+
"touchcancel",
|
|
44
|
+
"touchmove",
|
|
45
|
+
"doubletouch",
|
|
46
|
+
"touchleave",
|
|
47
|
+
"touchenter"
|
|
48
|
+
];
|
|
49
|
+
|
|
50
|
+
export interface IBaseInputState {
|
|
51
|
+
/** Current screen mouse X position. */
|
|
52
|
+
clientX: number;
|
|
53
|
+
/** Current screen mouse Y position. */
|
|
54
|
+
clientY: number;
|
|
55
|
+
/** Current screen mouse position. */
|
|
56
|
+
pos: Vec2;
|
|
57
|
+
/** Current touch X - coordinate. */
|
|
58
|
+
x: number;
|
|
59
|
+
/** Current touch Y - coordinate. */
|
|
60
|
+
y: number;
|
|
61
|
+
/** Current touch X - coordinate from 0 to 1 */
|
|
62
|
+
nx: number;
|
|
63
|
+
/** Current touch Y - coordinate from 0 to 1 */
|
|
64
|
+
ny: number;
|
|
65
|
+
/** Previous touch X coordinate. */
|
|
66
|
+
prev_x: number;
|
|
67
|
+
/** Previous touch Y coordinate. */
|
|
68
|
+
prev_y: number,
|
|
69
|
+
/** Screen touch position world direction. */
|
|
70
|
+
direction: Vec3;
|
|
71
|
+
/** Current touched(picking) object. */
|
|
72
|
+
pickingObject: any | null;
|
|
73
|
+
/** Renderer instance. */
|
|
74
|
+
renderer: Renderer;
|
|
75
|
+
/** Touching is moving now. */
|
|
76
|
+
moving: boolean;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
export interface IMouseState extends IBaseInputState {
|
|
80
|
+
/** Left mouse button has stopped pushing down right now.*/
|
|
81
|
+
leftButtonUp: boolean;
|
|
82
|
+
/** Right mouse button has stopped pushing down right now.*/
|
|
83
|
+
rightButtonUp: boolean;
|
|
84
|
+
/** Middle mouse button has stopped pushing down right now.*/
|
|
85
|
+
middleButtonUp: boolean;
|
|
86
|
+
/** Left mouse button has pushed now.*/
|
|
87
|
+
leftButtonDown: boolean;
|
|
88
|
+
/** Right mouse button has pushed now.*/
|
|
89
|
+
rightButtonDown: boolean;
|
|
90
|
+
/** Middle mouse button has pushed now.*/
|
|
91
|
+
middleButtonDown: boolean;
|
|
92
|
+
/** Left mouse button is pushing.*/
|
|
93
|
+
leftButtonHold: boolean;
|
|
94
|
+
/** Right mouse button is pushing.*/
|
|
95
|
+
rightButtonHold: boolean;
|
|
96
|
+
/** Middle mouse button is pushing.*/
|
|
97
|
+
middleButtonHold: boolean;
|
|
98
|
+
/** Left mouse button has clicked twice now.*/
|
|
99
|
+
leftButtonDoubleClick: boolean;
|
|
100
|
+
/** Right mouse button has clicked twice now.*/
|
|
101
|
+
rightButtonDoubleClick: boolean;
|
|
102
|
+
/** Middle mouse button has clicked twice now.*/
|
|
103
|
+
middleButtonDoubleClick: boolean;
|
|
104
|
+
/** Left mouse button has clicked now. */
|
|
105
|
+
leftButtonClick: boolean;
|
|
106
|
+
/** Right mouse button has clicked now. */
|
|
107
|
+
rightButtonClick: boolean;
|
|
108
|
+
/** Middle mouse button has clicked now. */
|
|
109
|
+
middleButtonClick: boolean;
|
|
110
|
+
/** Mouse has just stopped now. */
|
|
111
|
+
justStopped: boolean;
|
|
112
|
+
/** Mose double click delay response time.*/
|
|
113
|
+
doubleClickDelay: number;
|
|
114
|
+
/** Mose click delay response time.*/
|
|
115
|
+
clickDelay: number;
|
|
116
|
+
/** Mouse wheel. */
|
|
117
|
+
wheelDelta: number;
|
|
118
|
+
/** JavaScript mouse system event message. */
|
|
119
|
+
sys: MouseEvent | null;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
export interface ITouchState extends IBaseInputState {
|
|
123
|
+
/** Touch has ended right now.*/
|
|
124
|
+
touchEnd: boolean;
|
|
125
|
+
/** Touch has started right now.*/
|
|
126
|
+
touchStart: boolean;
|
|
127
|
+
/** Touch canceled.*/
|
|
128
|
+
touchCancel: boolean;
|
|
129
|
+
/** Touched twice.*/
|
|
130
|
+
doubleTouch: boolean;
|
|
131
|
+
/** Double touching responce delay.*/
|
|
132
|
+
doubleTouchDelay: number;
|
|
133
|
+
/** Double touching responce radius in screen pixels.*/
|
|
134
|
+
doubleTouchRadius: number;
|
|
135
|
+
/** JavaScript mouse system event message. */
|
|
136
|
+
sys: TouchEventExt | null;
|
|
137
|
+
}
|
|
10
138
|
|
|
11
139
|
const LB_M = 0b0001;
|
|
12
140
|
const RB_M = 0b0010;
|
|
@@ -15,12 +143,11 @@ const MB_M = 0b0100;
|
|
|
15
143
|
let __skipFrames__ = 0;
|
|
16
144
|
const MAX_SKIP_FRAMES_ON_BLACK = 15;
|
|
17
145
|
|
|
18
|
-
const ISBLACK = (c) => !(c[0] || c[1] || c[2]);
|
|
19
|
-
const NOTBLACK = (c) => c[0] || c[1] || c[2];
|
|
146
|
+
const ISBLACK = (c: NumberArray3 | Uint8Array): boolean => !(c[0] || c[1] || c[2]);
|
|
147
|
+
const NOTBLACK = (c: NumberArray3 | Uint8Array): boolean => !!(c[0] || c[1] || c[2]);
|
|
20
148
|
|
|
21
149
|
/**
|
|
22
150
|
* Stores current picking rgb color.
|
|
23
|
-
* @private
|
|
24
151
|
* @type {Array.<number>} - (exactly 3 entries)
|
|
25
152
|
*/
|
|
26
153
|
let _currPickingColor = new Uint8Array(4);
|
|
@@ -28,7 +155,6 @@ let _tempCurrPickingColor = new Uint8Array(4);
|
|
|
28
155
|
|
|
29
156
|
/**
|
|
30
157
|
* Stores previous picked rgb color.
|
|
31
|
-
* @private
|
|
32
158
|
* @type {Array.<number>} - (exactly 3 entries)
|
|
33
159
|
*/
|
|
34
160
|
let _prevPickingColor = new Uint8Array(4);
|
|
@@ -38,162 +164,148 @@ let _prevPickingColor = new Uint8Array(4);
|
|
|
38
164
|
* @class
|
|
39
165
|
* @param {Renderer} renderer - Renderer object, events that works for.
|
|
40
166
|
*/
|
|
41
|
-
class RendererEvents extends Events {
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
167
|
+
class RendererEvents extends Events<RendererEventsType> implements RendererEventsHandler {
|
|
168
|
+
/**
|
|
169
|
+
* Assigned renderer.
|
|
170
|
+
* @public
|
|
171
|
+
* @type {Renderer}
|
|
172
|
+
*/
|
|
173
|
+
public renderer: Renderer;
|
|
174
|
+
|
|
175
|
+
/**
|
|
176
|
+
* Low level touch events handler.
|
|
177
|
+
* @protected
|
|
178
|
+
* @type {TouchHandler}
|
|
179
|
+
*/
|
|
180
|
+
protected _touchHandler: TouchHandler;
|
|
181
|
+
|
|
182
|
+
/**
|
|
183
|
+
* Low level mouse events handler.
|
|
184
|
+
* @protected
|
|
185
|
+
* @type {MouseHandler}
|
|
186
|
+
*/
|
|
187
|
+
protected _mouseHandler: MouseHandler;
|
|
188
|
+
|
|
189
|
+
/**
|
|
190
|
+
* Low level keyboard events handler.
|
|
191
|
+
* @protected
|
|
192
|
+
* @type {KeyboardHandler}
|
|
193
|
+
*/
|
|
194
|
+
protected _keyboardHandler: KeyboardHandler;
|
|
195
|
+
|
|
196
|
+
protected _active: boolean;
|
|
197
|
+
|
|
198
|
+
public clickRadius: number;
|
|
199
|
+
|
|
200
|
+
/**
|
|
201
|
+
* Current mouse state.
|
|
202
|
+
* @public
|
|
203
|
+
* @type {IMouseState}
|
|
204
|
+
*/
|
|
205
|
+
public mouseState: IMouseState;
|
|
206
|
+
|
|
207
|
+
/**
|
|
208
|
+
* Current touch state.
|
|
209
|
+
* @public
|
|
210
|
+
* @type {ITouchState}
|
|
211
|
+
*/
|
|
212
|
+
public touchState: ITouchState;
|
|
213
|
+
|
|
214
|
+
protected _dblTchCoords: Vec2;
|
|
215
|
+
protected _oneTouchStart: boolean;
|
|
216
|
+
protected _dblTchBegins: number;
|
|
217
|
+
protected _mousestopThread: any | null;
|
|
218
|
+
protected _ldblClkBegins: number;
|
|
219
|
+
protected _rdblClkBegins: number;
|
|
220
|
+
protected _mdblClkBegins: number;
|
|
221
|
+
protected _lClkBegins: number;
|
|
222
|
+
protected _rClkBegins: number;
|
|
223
|
+
protected _mClkBegins: number;
|
|
224
|
+
protected _lclickX: number;
|
|
225
|
+
protected _lclickY: number;
|
|
226
|
+
protected _rclickX: number;
|
|
227
|
+
protected _rclickY: number;
|
|
228
|
+
protected _mclickX: number;
|
|
229
|
+
protected _mclickY: number;
|
|
230
|
+
|
|
231
|
+
constructor(renderer: Renderer) {
|
|
232
|
+
|
|
233
|
+
super(RENDERER_EVENTS);
|
|
234
|
+
|
|
50
235
|
this.renderer = renderer;
|
|
51
236
|
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
*/
|
|
57
|
-
this._touchHandler = new TouchHandler(renderer.handler.canvas);
|
|
58
|
-
|
|
59
|
-
/**
|
|
60
|
-
* Low level mouse events handler.
|
|
61
|
-
* @private
|
|
62
|
-
* @type {input.MouseHandler}
|
|
63
|
-
*/
|
|
64
|
-
this._mouseHandler = new MouseHandler(renderer.handler.canvas);
|
|
65
|
-
|
|
66
|
-
/**
|
|
67
|
-
* Low level keyboard events handler.
|
|
68
|
-
* @private
|
|
69
|
-
* @type {input.KeyboardHandler}
|
|
70
|
-
*/
|
|
237
|
+
this._touchHandler = new TouchHandler(renderer.handler.canvas!);
|
|
238
|
+
|
|
239
|
+
this._mouseHandler = new MouseHandler(renderer.handler.canvas!);
|
|
240
|
+
|
|
71
241
|
this._keyboardHandler = new KeyboardHandler();
|
|
72
242
|
|
|
73
243
|
this._active = true;
|
|
74
244
|
|
|
75
245
|
this.clickRadius = 15;
|
|
76
246
|
|
|
77
|
-
/**
|
|
78
|
-
* Current mouse state.
|
|
79
|
-
* @public
|
|
80
|
-
* @enum {Object}
|
|
81
|
-
*/
|
|
82
247
|
this.mouseState = {
|
|
83
|
-
/** Current screen mouse X position. */
|
|
84
248
|
clientX: 0,
|
|
85
|
-
/** Current screen mouse Y position. */
|
|
86
249
|
clientY: 0,
|
|
87
|
-
|
|
250
|
+
pos: new Vec2(),
|
|
88
251
|
x: 0,
|
|
89
|
-
/** Current viewport mouse Y position. */
|
|
90
252
|
y: 0,
|
|
91
|
-
/** Current mouse X position from 0 to 1 */
|
|
92
253
|
nx: 0,
|
|
93
|
-
/** Current mouse Y position from 0 to 1 */
|
|
94
254
|
ny: 0,
|
|
95
|
-
/** Previous mouse X position. */
|
|
96
255
|
prev_x: 0,
|
|
97
|
-
/** Previous mouse Y position. */
|
|
98
256
|
prev_y: 0,
|
|
99
|
-
/** Screen mouse position world direction. */
|
|
100
257
|
direction: new Vec3(),
|
|
101
|
-
/** Left mouse button has stopped pushing down right now.*/
|
|
102
258
|
leftButtonUp: false,
|
|
103
|
-
/** Right mouse button has stopped pushing down right now.*/
|
|
104
259
|
rightButtonUp: false,
|
|
105
|
-
/** Middle mouse button has stopped pushing down right now.*/
|
|
106
260
|
middleButtonUp: false,
|
|
107
|
-
/** Left mouse button has pushed now.*/
|
|
108
261
|
leftButtonDown: false,
|
|
109
|
-
/** Right mouse button has pushed now.*/
|
|
110
262
|
rightButtonDown: false,
|
|
111
|
-
/** Middle mouse button has pushed now.*/
|
|
112
263
|
middleButtonDown: false,
|
|
113
|
-
/** Left mouse button is pushing.*/
|
|
114
264
|
leftButtonHold: false,
|
|
115
|
-
/** Right mouse button is pushing.*/
|
|
116
265
|
rightButtonHold: false,
|
|
117
|
-
/** Middle mouse button is pushing.*/
|
|
118
266
|
middleButtonHold: false,
|
|
119
|
-
/** Left mouse button has clicked twice now.*/
|
|
120
267
|
leftButtonDoubleClick: false,
|
|
121
|
-
/** Right mouse button has clicked twice now.*/
|
|
122
268
|
rightButtonDoubleClick: false,
|
|
123
|
-
/** Middle mouse button has clicked twice now.*/
|
|
124
269
|
middleButtonDoubleClick: false,
|
|
125
|
-
/** Left mouse button has clicked now. */
|
|
126
270
|
leftButtonClick: false,
|
|
127
|
-
/** Right mouse button has clicked now. */
|
|
128
271
|
rightButtonClick: false,
|
|
129
|
-
/** Middle mouse button has clicked now. */
|
|
130
272
|
middleButtonClick: false,
|
|
131
|
-
/** Mouse is moving now. */
|
|
132
273
|
moving: false,
|
|
133
|
-
/** Mouse has just stopped now. */
|
|
134
274
|
justStopped: false,
|
|
135
|
-
/** Mose double click delay response time.*/
|
|
136
275
|
doubleClickDelay: 500,
|
|
137
|
-
/** Mose click delay response time.*/
|
|
138
276
|
clickDelay: 200,
|
|
139
|
-
/** Mouse wheel. */
|
|
140
277
|
wheelDelta: 0,
|
|
141
|
-
/** JavaScript mouse system event message. */
|
|
142
278
|
sys: null,
|
|
143
|
-
/** Current picking object. */
|
|
144
279
|
pickingObject: null,
|
|
145
|
-
/** Renderer instanve. */
|
|
146
280
|
renderer: renderer
|
|
147
281
|
};
|
|
148
282
|
|
|
149
|
-
/**
|
|
150
|
-
* Current touch state.
|
|
151
|
-
* @public
|
|
152
|
-
* @enum {Object}
|
|
153
|
-
*/
|
|
154
283
|
this.touchState = {
|
|
155
|
-
/** Touching is moving now. */
|
|
156
284
|
moving: false,
|
|
157
|
-
/** Touch has ended right now.*/
|
|
158
285
|
touchEnd: false,
|
|
159
|
-
/** Touch has started right now.*/
|
|
160
286
|
touchStart: false,
|
|
161
|
-
/** Touch canceled.*/
|
|
162
287
|
touchCancel: false,
|
|
163
|
-
/** Touched twice.*/
|
|
164
288
|
doubleTouch: false,
|
|
165
|
-
/** Double touching responce delay.*/
|
|
166
289
|
doubleTouchDelay: 550,
|
|
167
|
-
/** Double touching responce radius in screen pixels.*/
|
|
168
290
|
doubleTouchRadius: 10,
|
|
169
|
-
|
|
291
|
+
clientX: 0,
|
|
292
|
+
clientY: 0,
|
|
293
|
+
pos: new Vec2(),
|
|
170
294
|
x: 0,
|
|
171
|
-
/** Current touch Y - coordinate. */
|
|
172
295
|
y: 0,
|
|
173
|
-
/** Current touch X - coordinate from 0 to 1 */
|
|
174
296
|
nx: 0,
|
|
175
|
-
/** Current touch Y - coordinate from 0 to 1 */
|
|
176
297
|
ny: 0,
|
|
177
|
-
/** Previous touch X coordinate. */
|
|
178
298
|
prev_x: 0,
|
|
179
|
-
/** Previous touch Y coordinate. */
|
|
180
299
|
prev_y: 0,
|
|
181
|
-
/** Screen touch position world direction. */
|
|
182
300
|
direction: new Vec3(),
|
|
183
|
-
/** JavaScript touching system event message. */
|
|
184
301
|
sys: null,
|
|
185
|
-
/** Current touched(picking) object. */
|
|
186
302
|
pickingObject: null,
|
|
187
|
-
/** Renderer instanve. */
|
|
188
303
|
renderer: renderer
|
|
189
304
|
};
|
|
190
305
|
|
|
191
306
|
this._dblTchCoords = new Vec2();
|
|
192
307
|
this._oneTouchStart = false;
|
|
193
308
|
this._dblTchBegins = 0;
|
|
194
|
-
/**
|
|
195
|
-
* @type {number}
|
|
196
|
-
*/
|
|
197
309
|
this._mousestopThread = null;
|
|
198
310
|
this._ldblClkBegins = 0;
|
|
199
311
|
this._rdblClkBegins = 0;
|
|
@@ -209,42 +321,42 @@ class RendererEvents extends Events {
|
|
|
209
321
|
this._mclickY = 0;
|
|
210
322
|
}
|
|
211
323
|
|
|
212
|
-
pointerEvent() {
|
|
324
|
+
public pointerEvent(): boolean {
|
|
213
325
|
let ms = this.mouseState,
|
|
214
326
|
ts = this.touchState;
|
|
215
327
|
return (
|
|
216
328
|
ms.moving ||
|
|
217
329
|
ms.justStopped ||
|
|
218
|
-
ms.wheelDelta ||
|
|
219
330
|
ts.moving ||
|
|
220
331
|
ts.touchStart ||
|
|
221
|
-
ts.touchEnd
|
|
332
|
+
ts.touchEnd ||
|
|
333
|
+
ms.wheelDelta !== 0
|
|
222
334
|
)
|
|
223
335
|
}
|
|
224
336
|
|
|
225
|
-
get active() {
|
|
337
|
+
public get active(): boolean {
|
|
226
338
|
return this._active;
|
|
227
339
|
}
|
|
228
340
|
|
|
229
|
-
set active(
|
|
230
|
-
this._active =
|
|
231
|
-
this._keyboardHandler.setActivity(
|
|
341
|
+
public set active(isActive: boolean) {
|
|
342
|
+
this._active = isActive;
|
|
343
|
+
this._keyboardHandler.setActivity(isActive);
|
|
232
344
|
}
|
|
233
345
|
|
|
234
346
|
/**
|
|
235
347
|
* Used in render node frame.
|
|
236
348
|
* @public
|
|
237
349
|
*/
|
|
238
|
-
handleEvents() {
|
|
350
|
+
public handleEvents() {
|
|
239
351
|
if (this._active) {
|
|
240
|
-
this.mouseState.direction = this.renderer.activeCamera
|
|
352
|
+
this.mouseState.direction = this.renderer.activeCamera!.unproject(
|
|
241
353
|
this.mouseState.x,
|
|
242
354
|
this.mouseState.y
|
|
243
355
|
);
|
|
244
356
|
//
|
|
245
|
-
// TODO: Replace in some other place with a thought that we do
|
|
357
|
+
// TODO: Replace in some other place with a thought that we do
|
|
246
358
|
// not need to make unproject when we do not make touching
|
|
247
|
-
this.touchState.direction = this.renderer.activeCamera
|
|
359
|
+
this.touchState.direction = this.renderer.activeCamera!.unproject(
|
|
248
360
|
this.touchState.x,
|
|
249
361
|
this.touchState.y
|
|
250
362
|
);
|
|
@@ -256,19 +368,19 @@ class RendererEvents extends Events {
|
|
|
256
368
|
}
|
|
257
369
|
}
|
|
258
370
|
|
|
259
|
-
on(name, p0, p1, p2,
|
|
371
|
+
public override on(name: string, p0: EventCallback | number, p1?: number | EventCallback, p2?: any, keyPriority?: number) {
|
|
260
372
|
if (name === "keypress" || name === "charkeypress" || name === "keyfree") {
|
|
261
|
-
this._keyboardHandler.addEvent(name, p0, p1, p2,
|
|
373
|
+
this._keyboardHandler.addEvent(name, p0 as number, p1 as EventCallback, p2, keyPriority);
|
|
262
374
|
} else {
|
|
263
|
-
super.on(name, p0, p1, p2);
|
|
375
|
+
super.on(name, p0 as EventCallback, p1, p2);
|
|
264
376
|
}
|
|
265
377
|
}
|
|
266
378
|
|
|
267
|
-
off(name, p1, p2) {
|
|
379
|
+
public override off(name: string, p1?: EventCallback | number | null, p2?: EventCallback) {
|
|
268
380
|
if (name === "keypress" || name === "charkeypress" || name === "keyfree") {
|
|
269
|
-
this._keyboardHandler.removeEvent(name, p1, p2);
|
|
381
|
+
this._keyboardHandler.removeEvent(name, p1 as number, p2 as EventCallback);
|
|
270
382
|
} else {
|
|
271
|
-
super.off(name, p1);
|
|
383
|
+
super.off(name, p1 as EventCallback);
|
|
272
384
|
}
|
|
273
385
|
}
|
|
274
386
|
|
|
@@ -278,11 +390,11 @@ class RendererEvents extends Events {
|
|
|
278
390
|
* @param {number} keyCode - Key code
|
|
279
391
|
* @return {boolean}
|
|
280
392
|
*/
|
|
281
|
-
isKeyPressed(keyCode) {
|
|
393
|
+
public isKeyPressed(keyCode: number): boolean {
|
|
282
394
|
return this._keyboardHandler.isKeyPressed(keyCode);
|
|
283
395
|
}
|
|
284
396
|
|
|
285
|
-
releaseKeys() {
|
|
397
|
+
public releaseKeys() {
|
|
286
398
|
this._keyboardHandler.releaseKeys();
|
|
287
399
|
}
|
|
288
400
|
|
|
@@ -290,7 +402,7 @@ class RendererEvents extends Events {
|
|
|
290
402
|
* Renderer events initialization.
|
|
291
403
|
* @public
|
|
292
404
|
*/
|
|
293
|
-
initialize() {
|
|
405
|
+
public initialize() {
|
|
294
406
|
this._mouseHandler.setEvent("mouseup", this, this.onMouseUp);
|
|
295
407
|
this._mouseHandler.setEvent("mousemove", this, this.onMouseMove);
|
|
296
408
|
this._mouseHandler.setEvent("mousedown", this, this.onMouseDown);
|
|
@@ -305,16 +417,14 @@ class RendererEvents extends Events {
|
|
|
305
417
|
}
|
|
306
418
|
|
|
307
419
|
/**
|
|
308
|
-
* @
|
|
420
|
+
* @protected
|
|
309
421
|
*/
|
|
310
|
-
onMouseWheel(event) {
|
|
311
|
-
this.mouseState.
|
|
422
|
+
protected onMouseWheel(event: MouseEventExt) {
|
|
423
|
+
this.mouseState.sys = event;
|
|
424
|
+
this.mouseState.wheelDelta = event.wheelDelta || 0;
|
|
312
425
|
}
|
|
313
426
|
|
|
314
|
-
|
|
315
|
-
* @protected
|
|
316
|
-
*/
|
|
317
|
-
updateButtonsStates(buttons) {
|
|
427
|
+
public updateButtonsStates(buttons: number) {
|
|
318
428
|
let ms = this.mouseState;
|
|
319
429
|
if ((buttons & LB_M) && ms.leftButtonDown) {
|
|
320
430
|
ms.leftButtonDown = true;
|
|
@@ -338,16 +448,13 @@ class RendererEvents extends Events {
|
|
|
338
448
|
}
|
|
339
449
|
}
|
|
340
450
|
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
*/
|
|
344
|
-
onMouseMove(event, sys) {
|
|
345
|
-
var ms = this.mouseState;
|
|
451
|
+
protected onMouseMove(sys: MouseEvent, event?: MouseHandlerEvent) {
|
|
452
|
+
let ms = this.mouseState;
|
|
346
453
|
this.updateButtonsStates(sys.buttons);
|
|
347
|
-
ms.sys =
|
|
454
|
+
ms.sys = sys;
|
|
348
455
|
|
|
349
|
-
let ex = event
|
|
350
|
-
ey = event
|
|
456
|
+
let ex = event!.clientX,
|
|
457
|
+
ey = event!.clientY,
|
|
351
458
|
r = this.clickRadius;
|
|
352
459
|
|
|
353
460
|
if (Math.abs(this._lclickX - ex) >= r && Math.abs(this._lclickY - ey) >= r) {
|
|
@@ -365,20 +472,20 @@ class RendererEvents extends Events {
|
|
|
365
472
|
this._mClkBegins = 0;
|
|
366
473
|
}
|
|
367
474
|
|
|
368
|
-
if (ms.clientX === event
|
|
475
|
+
if (ms.clientX === event!.clientX && ms.clientY === event!.clientY) {
|
|
369
476
|
return;
|
|
370
477
|
}
|
|
371
478
|
|
|
372
|
-
ms.clientX = event
|
|
373
|
-
ms.clientY = event
|
|
479
|
+
ms.clientX = event!.clientX;
|
|
480
|
+
ms.clientY = event!.clientY;
|
|
374
481
|
|
|
375
482
|
let h = this.renderer.handler;
|
|
376
483
|
|
|
377
|
-
ms.x = event
|
|
378
|
-
ms.y = event
|
|
484
|
+
ms.pos.x = ms.x = event!.clientX * h.pixelRatio;
|
|
485
|
+
ms.pos.y = ms.y = event!.clientY * h.pixelRatio;
|
|
379
486
|
|
|
380
|
-
ms.nx = ms.x / h.canvas
|
|
381
|
-
ms.ny = ms.y / h.canvas
|
|
487
|
+
ms.nx = ms.x / h.canvas!.width;
|
|
488
|
+
ms.ny = ms.y / h.canvas!.height;
|
|
382
489
|
|
|
383
490
|
ms.moving = true;
|
|
384
491
|
|
|
@@ -389,54 +496,50 @@ class RendererEvents extends Events {
|
|
|
389
496
|
}, 100);
|
|
390
497
|
}
|
|
391
498
|
|
|
392
|
-
onMouseLeave(
|
|
393
|
-
this.
|
|
499
|
+
protected onMouseLeave(sys: MouseEvent) {
|
|
500
|
+
this.mouseState.sys = sys;
|
|
501
|
+
this.dispatch((this as RendererEventsHandler).mouseleave, this.mouseState);
|
|
394
502
|
}
|
|
395
503
|
|
|
396
|
-
onMouseEnter(
|
|
397
|
-
this.
|
|
504
|
+
protected onMouseEnter(sys: MouseEvent) {
|
|
505
|
+
this.mouseState.sys = sys;
|
|
506
|
+
this.dispatch((this as RendererEventsHandler).mouseenter, this.mouseState);
|
|
398
507
|
}
|
|
399
508
|
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
*/
|
|
403
|
-
onMouseDown(event) {
|
|
404
|
-
if (event.button === input.MB_LEFT) {
|
|
509
|
+
protected onMouseDown(sys: MouseEvent, event?: MouseHandlerEvent) {
|
|
510
|
+
if (event!.button === input.MB_LEFT) {
|
|
405
511
|
this._lClkBegins = window.performance.now();
|
|
406
|
-
this._lclickX = event
|
|
407
|
-
this._lclickY = event
|
|
408
|
-
this.mouseState.sys =
|
|
512
|
+
this._lclickX = event!.clientX;
|
|
513
|
+
this._lclickY = event!.clientY;
|
|
514
|
+
this.mouseState.sys = sys;
|
|
409
515
|
this.mouseState.leftButtonDown = true;
|
|
410
|
-
} else if (event
|
|
516
|
+
} else if (event!.button === input.MB_RIGHT) {
|
|
411
517
|
this._rClkBegins = window.performance.now();
|
|
412
|
-
this._rclickX = event
|
|
413
|
-
this._rclickY = event
|
|
414
|
-
this.mouseState.sys =
|
|
518
|
+
this._rclickX = event!.clientX;
|
|
519
|
+
this._rclickY = event!.clientY;
|
|
520
|
+
this.mouseState.sys = sys;
|
|
415
521
|
this.mouseState.rightButtonDown = true;
|
|
416
|
-
} else if (event
|
|
522
|
+
} else if (event!.button === input.MB_MIDDLE) {
|
|
417
523
|
this._mClkBegins = window.performance.now();
|
|
418
|
-
this._mclickX = event
|
|
419
|
-
this._mclickY = event
|
|
420
|
-
this.mouseState.sys =
|
|
524
|
+
this._mclickX = event!.clientX;
|
|
525
|
+
this._mclickY = event!.clientY;
|
|
526
|
+
this.mouseState.sys = sys;
|
|
421
527
|
this.mouseState.middleButtonDown = true;
|
|
422
528
|
}
|
|
423
529
|
}
|
|
424
530
|
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
var ms = this.mouseState;
|
|
430
|
-
ms.sys = event;
|
|
431
|
-
var t = window.performance.now();
|
|
531
|
+
protected onMouseUp(sys: MouseEvent, event?: MouseHandlerEvent) {
|
|
532
|
+
let ms = this.mouseState;
|
|
533
|
+
ms.sys = sys;
|
|
534
|
+
let t = window.performance.now();
|
|
432
535
|
|
|
433
|
-
if (event
|
|
536
|
+
if (event!.button === input.MB_LEFT) {
|
|
434
537
|
ms.leftButtonDown = false;
|
|
435
538
|
ms.leftButtonUp = true;
|
|
436
539
|
|
|
437
540
|
if (
|
|
438
|
-
Math.abs(this._lclickX - event
|
|
439
|
-
Math.abs(this._lclickY - event
|
|
541
|
+
Math.abs(this._lclickX - event!.clientX) < this.clickRadius &&
|
|
542
|
+
Math.abs(this._lclickY - event!.clientY) < this.clickRadius &&
|
|
440
543
|
t - this._lClkBegins <= ms.clickDelay
|
|
441
544
|
) {
|
|
442
545
|
if (this._ldblClkBegins) {
|
|
@@ -452,13 +555,13 @@ class RendererEvents extends Events {
|
|
|
452
555
|
ms.leftButtonClick = true;
|
|
453
556
|
this._lClkBegins = 0;
|
|
454
557
|
}
|
|
455
|
-
} else if (event
|
|
558
|
+
} else if (event!.button === input.MB_RIGHT) {
|
|
456
559
|
ms.rightButtonDown = false;
|
|
457
560
|
ms.rightButtonUp = true;
|
|
458
561
|
|
|
459
562
|
if (
|
|
460
|
-
Math.abs(this._rclickX - event
|
|
461
|
-
Math.abs(this._rclickY - event
|
|
563
|
+
Math.abs(this._rclickX - event!.clientX) < this.clickRadius &&
|
|
564
|
+
Math.abs(this._rclickY - event!.clientY) < this.clickRadius &&
|
|
462
565
|
t - this._rClkBegins <= ms.clickDelay
|
|
463
566
|
) {
|
|
464
567
|
if (this._rdblClkBegins) {
|
|
@@ -474,17 +577,17 @@ class RendererEvents extends Events {
|
|
|
474
577
|
ms.rightButtonClick = true;
|
|
475
578
|
this._rClkBegins = 0;
|
|
476
579
|
}
|
|
477
|
-
} else if (event
|
|
580
|
+
} else if (event!.button === input.MB_MIDDLE) {
|
|
478
581
|
ms.middleButtonDown = false;
|
|
479
582
|
ms.middleButtonUp = true;
|
|
480
583
|
|
|
481
584
|
if (
|
|
482
|
-
Math.abs(this._mclickX - event
|
|
483
|
-
Math.abs(this._mclickY - event
|
|
585
|
+
Math.abs(this._mclickX - event!.clientX) < this.clickRadius &&
|
|
586
|
+
Math.abs(this._mclickY - event!.clientY) < this.clickRadius &&
|
|
484
587
|
t - this._mClkBegins <= ms.clickDelay
|
|
485
588
|
) {
|
|
486
589
|
if (this._mdblClkBegins) {
|
|
487
|
-
|
|
590
|
+
let deltatime = window.performance.now() - this._mdblClkBegins;
|
|
488
591
|
if (deltatime <= ms.doubleClickDelay) {
|
|
489
592
|
ms.middleButtonDoubleClick = true;
|
|
490
593
|
}
|
|
@@ -499,23 +602,20 @@ class RendererEvents extends Events {
|
|
|
499
602
|
}
|
|
500
603
|
}
|
|
501
604
|
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
*/
|
|
505
|
-
onTouchStart(event) {
|
|
506
|
-
var ts = this.touchState;
|
|
605
|
+
protected onTouchStart(event: TouchEventExt) {
|
|
606
|
+
let ts = this.touchState;
|
|
507
607
|
ts.sys = event;
|
|
508
608
|
|
|
509
|
-
ts.clientX = event.touches.item(0)
|
|
510
|
-
ts.clientY = event.touches.item(0)
|
|
609
|
+
ts.clientX = event.touches.item(0)!.clientX - event.offsetLeft;
|
|
610
|
+
ts.clientY = event.touches.item(0)!.clientY - event.offsetTop;
|
|
511
611
|
|
|
512
612
|
let h = this.renderer.handler;
|
|
513
613
|
|
|
514
|
-
ts.x = ts.clientX * h.pixelRatio;
|
|
515
|
-
ts.y = ts.clientY * h.pixelRatio;
|
|
614
|
+
ts.pos.x = ts.x = ts.clientX * h.pixelRatio;
|
|
615
|
+
ts.pos.y = ts.y = ts.clientY * h.pixelRatio;
|
|
516
616
|
|
|
517
|
-
ts.nx = ts.x / h.canvas
|
|
518
|
-
ts.ny = ts.y / h.canvas
|
|
617
|
+
ts.nx = ts.x / h.canvas!.width;
|
|
618
|
+
ts.ny = ts.y / h.canvas!.height;
|
|
519
619
|
ts.prev_x = ts.x;
|
|
520
620
|
ts.prev_y = ts.y;
|
|
521
621
|
ts.touchStart = true;
|
|
@@ -530,10 +630,10 @@ class RendererEvents extends Events {
|
|
|
530
630
|
}
|
|
531
631
|
|
|
532
632
|
/**
|
|
533
|
-
* @
|
|
633
|
+
* @protected
|
|
534
634
|
*/
|
|
535
|
-
onTouchEnd(event) {
|
|
536
|
-
|
|
635
|
+
protected onTouchEnd(event: TouchEventExt) {
|
|
636
|
+
let ts = this.touchState;
|
|
537
637
|
ts.sys = event;
|
|
538
638
|
ts.touchEnd = true;
|
|
539
639
|
|
|
@@ -543,7 +643,7 @@ class RendererEvents extends Events {
|
|
|
543
643
|
|
|
544
644
|
if (this._oneTouchStart) {
|
|
545
645
|
if (this._dblTchBegins) {
|
|
546
|
-
|
|
646
|
+
let deltatime = window.performance.now() - this._dblTchBegins;
|
|
547
647
|
if (deltatime <= ts.doubleTouchDelay) {
|
|
548
648
|
ts.doubleTouch = true;
|
|
549
649
|
}
|
|
@@ -555,46 +655,38 @@ class RendererEvents extends Events {
|
|
|
555
655
|
}
|
|
556
656
|
}
|
|
557
657
|
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
*/
|
|
561
|
-
onTouchCancel(event) {
|
|
562
|
-
var ts = this.touchState;
|
|
658
|
+
protected onTouchCancel(event: TouchEventExt) {
|
|
659
|
+
let ts = this.touchState;
|
|
563
660
|
ts.sys = event;
|
|
564
661
|
ts.touchCancel = true;
|
|
565
662
|
}
|
|
566
663
|
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
ts.clientX = event.touches.item(0).clientX - event.offsetLeft;
|
|
573
|
-
ts.clientY = event.touches.item(0).clientY - event.offsetTop;
|
|
664
|
+
protected onTouchMove(event: TouchEventExt) {
|
|
665
|
+
let ts = this.touchState;
|
|
666
|
+
|
|
667
|
+
ts.clientX = event.touches.item(0)!.clientX - event.offsetLeft;
|
|
668
|
+
ts.clientY = event.touches.item(0)!.clientY - event.offsetTop;
|
|
574
669
|
|
|
575
|
-
|
|
670
|
+
let h = this.renderer.handler;
|
|
576
671
|
|
|
577
672
|
ts.x = ts.clientX * h.pixelRatio;
|
|
578
673
|
ts.y = ts.clientY * h.pixelRatio;
|
|
579
674
|
|
|
580
|
-
ts.nx = ts.x / h.canvas
|
|
581
|
-
ts.ny = ts.y / h.canvas
|
|
675
|
+
ts.nx = ts.x / h.canvas!.width;
|
|
676
|
+
ts.ny = ts.y / h.canvas!.height;
|
|
582
677
|
|
|
583
678
|
ts.sys = event;
|
|
584
679
|
ts.moving = true;
|
|
585
680
|
|
|
586
|
-
|
|
587
|
-
|
|
681
|
+
let dX = ts.x - ts.prev_x
|
|
682
|
+
let dY = ts.y - ts.prev_y
|
|
588
683
|
if (Math.abs(dX) > 9 || Math.abs(dY) > 9) {
|
|
589
684
|
this._dblTchBegins = 0;
|
|
590
685
|
this._oneTouchStart = false;
|
|
591
686
|
}
|
|
592
687
|
}
|
|
593
688
|
|
|
594
|
-
|
|
595
|
-
* @private
|
|
596
|
-
*/
|
|
597
|
-
entityPickingEvents() {
|
|
689
|
+
protected entityPickingEvents() {
|
|
598
690
|
let ts = this.touchState,
|
|
599
691
|
ms = this.mouseState;
|
|
600
692
|
|
|
@@ -628,7 +720,7 @@ class RendererEvents extends Events {
|
|
|
628
720
|
ms.pickingObject = null;
|
|
629
721
|
ts.pickingObject = null;
|
|
630
722
|
|
|
631
|
-
let co = r.getPickingObjectArr(c);
|
|
723
|
+
let co = r.getPickingObjectArr<any>(c);
|
|
632
724
|
|
|
633
725
|
ms.pickingObject = co;
|
|
634
726
|
ts.pickingObject = co;
|
|
@@ -638,7 +730,7 @@ class RendererEvents extends Events {
|
|
|
638
730
|
|
|
639
731
|
//current is black
|
|
640
732
|
if (ISBLACK(c)) {
|
|
641
|
-
let po = r.getPickingObjectArr(p);
|
|
733
|
+
let po = r.getPickingObjectArr<any>(p);
|
|
642
734
|
if (po) {
|
|
643
735
|
let pe = po.rendererEvents;
|
|
644
736
|
ms.pickingObject = po;
|
|
@@ -651,7 +743,7 @@ class RendererEvents extends Events {
|
|
|
651
743
|
|
|
652
744
|
//previous is not black
|
|
653
745
|
if (NOTBLACK(p)) {
|
|
654
|
-
let po = r.getPickingObjectArr(p);
|
|
746
|
+
let po = r.getPickingObjectArr<any>(p);
|
|
655
747
|
if (po) {
|
|
656
748
|
let pe = po.rendererEvents;
|
|
657
749
|
ms.pickingObject = po;
|
|
@@ -673,10 +765,8 @@ class RendererEvents extends Events {
|
|
|
673
765
|
}
|
|
674
766
|
}
|
|
675
767
|
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
*/
|
|
679
|
-
handleMouseEvents() {
|
|
768
|
+
protected handleMouseEvents() {
|
|
769
|
+
let _this = this as RendererEventsHandler;
|
|
680
770
|
let ms = this.mouseState;
|
|
681
771
|
let po = ms.pickingObject,
|
|
682
772
|
pe = null;
|
|
@@ -686,7 +776,7 @@ class RendererEvents extends Events {
|
|
|
686
776
|
pe = po.rendererEvents;
|
|
687
777
|
pe && pe.dispatch(pe.lclick, ms);
|
|
688
778
|
}
|
|
689
|
-
this.dispatch(
|
|
779
|
+
this.dispatch(_this.lclick, ms);
|
|
690
780
|
ms.leftButtonClick = false;
|
|
691
781
|
}
|
|
692
782
|
|
|
@@ -695,7 +785,7 @@ class RendererEvents extends Events {
|
|
|
695
785
|
pe = po.rendererEvents;
|
|
696
786
|
pe && pe.dispatch(pe.rclick, ms);
|
|
697
787
|
}
|
|
698
|
-
this.dispatch(
|
|
788
|
+
this.dispatch(_this.rclick, ms);
|
|
699
789
|
ms.rightButtonClick = false;
|
|
700
790
|
}
|
|
701
791
|
|
|
@@ -704,7 +794,7 @@ class RendererEvents extends Events {
|
|
|
704
794
|
pe = po.rendererEvents;
|
|
705
795
|
pe && pe.dispatch(pe.mclick, ms);
|
|
706
796
|
}
|
|
707
|
-
this.dispatch(
|
|
797
|
+
this.dispatch(_this.mclick, ms);
|
|
708
798
|
ms.middleButtonClick = false;
|
|
709
799
|
}
|
|
710
800
|
|
|
@@ -714,14 +804,14 @@ class RendererEvents extends Events {
|
|
|
714
804
|
pe = po.rendererEvents;
|
|
715
805
|
pe && pe.dispatch(pe.lhold, ms);
|
|
716
806
|
}
|
|
717
|
-
this.dispatch(
|
|
807
|
+
this.dispatch(_this.lhold, ms);
|
|
718
808
|
} else {
|
|
719
809
|
ms.leftButtonHold = true;
|
|
720
810
|
if (po) {
|
|
721
811
|
pe = po.rendererEvents;
|
|
722
812
|
pe && pe.dispatch(pe.ldown, ms);
|
|
723
813
|
}
|
|
724
|
-
this.dispatch(
|
|
814
|
+
this.dispatch(_this.ldown, ms);
|
|
725
815
|
}
|
|
726
816
|
}
|
|
727
817
|
|
|
@@ -731,14 +821,14 @@ class RendererEvents extends Events {
|
|
|
731
821
|
pe = po.rendererEvents;
|
|
732
822
|
pe && pe.dispatch(pe.rhold, ms);
|
|
733
823
|
}
|
|
734
|
-
this.dispatch(
|
|
824
|
+
this.dispatch(_this.rhold, ms);
|
|
735
825
|
} else {
|
|
736
826
|
ms.rightButtonHold = true;
|
|
737
827
|
if (po) {
|
|
738
828
|
pe = po.rendererEvents;
|
|
739
829
|
pe && pe.dispatch(pe.rdown, ms);
|
|
740
830
|
}
|
|
741
|
-
this.dispatch(
|
|
831
|
+
this.dispatch(_this.rdown, ms);
|
|
742
832
|
}
|
|
743
833
|
}
|
|
744
834
|
|
|
@@ -748,14 +838,14 @@ class RendererEvents extends Events {
|
|
|
748
838
|
pe = po.rendererEvents;
|
|
749
839
|
pe && pe.dispatch(pe.mhold, ms);
|
|
750
840
|
}
|
|
751
|
-
this.dispatch(
|
|
841
|
+
this.dispatch(_this.mhold, ms);
|
|
752
842
|
} else {
|
|
753
843
|
ms.middleButtonHold = true;
|
|
754
844
|
if (po) {
|
|
755
845
|
pe = po.rendererEvents;
|
|
756
846
|
pe && pe.dispatch(pe.mdown, ms);
|
|
757
847
|
}
|
|
758
|
-
this.dispatch(
|
|
848
|
+
this.dispatch(_this.mdown, ms);
|
|
759
849
|
}
|
|
760
850
|
}
|
|
761
851
|
|
|
@@ -764,7 +854,7 @@ class RendererEvents extends Events {
|
|
|
764
854
|
pe = po.rendererEvents;
|
|
765
855
|
pe && pe.dispatch(pe.lup, ms);
|
|
766
856
|
}
|
|
767
|
-
this.dispatch(
|
|
857
|
+
this.dispatch(_this.lup, ms);
|
|
768
858
|
ms.leftButtonUp = false;
|
|
769
859
|
ms.leftButtonHold = false;
|
|
770
860
|
}
|
|
@@ -774,7 +864,7 @@ class RendererEvents extends Events {
|
|
|
774
864
|
pe = po.rendererEvents;
|
|
775
865
|
pe && pe.dispatch(pe.rup, ms);
|
|
776
866
|
}
|
|
777
|
-
this.dispatch(
|
|
867
|
+
this.dispatch(_this.rup, ms);
|
|
778
868
|
ms.rightButtonUp = false;
|
|
779
869
|
ms.rightButtonHold = false;
|
|
780
870
|
}
|
|
@@ -784,7 +874,7 @@ class RendererEvents extends Events {
|
|
|
784
874
|
pe = po.rendererEvents;
|
|
785
875
|
pe && pe.dispatch(pe.mup, ms);
|
|
786
876
|
}
|
|
787
|
-
this.dispatch(
|
|
877
|
+
this.dispatch(_this.mup, ms);
|
|
788
878
|
ms.middleButtonUp = false;
|
|
789
879
|
ms.middleButtonHold = false;
|
|
790
880
|
}
|
|
@@ -794,7 +884,7 @@ class RendererEvents extends Events {
|
|
|
794
884
|
pe = po.rendererEvents;
|
|
795
885
|
pe && pe.dispatch(pe.ldblclick, ms);
|
|
796
886
|
}
|
|
797
|
-
this.dispatch(
|
|
887
|
+
this.dispatch(_this.ldblclick, ms);
|
|
798
888
|
ms.leftButtonDoubleClick = false;
|
|
799
889
|
}
|
|
800
890
|
|
|
@@ -803,7 +893,7 @@ class RendererEvents extends Events {
|
|
|
803
893
|
pe = po.rendererEvents;
|
|
804
894
|
pe && pe.dispatch(pe.rdblclick, ms);
|
|
805
895
|
}
|
|
806
|
-
this.dispatch(
|
|
896
|
+
this.dispatch(_this.rdblclick, ms);
|
|
807
897
|
ms.rightButtonDoubleClick = false;
|
|
808
898
|
}
|
|
809
899
|
|
|
@@ -812,7 +902,7 @@ class RendererEvents extends Events {
|
|
|
812
902
|
pe = po.rendererEvents;
|
|
813
903
|
pe && pe.dispatch(pe.mdblclick, ms);
|
|
814
904
|
}
|
|
815
|
-
this.dispatch(
|
|
905
|
+
this.dispatch(_this.mdblclick, ms);
|
|
816
906
|
ms.middleButtonDoubleClick = false;
|
|
817
907
|
}
|
|
818
908
|
|
|
@@ -821,7 +911,7 @@ class RendererEvents extends Events {
|
|
|
821
911
|
pe = po.rendererEvents;
|
|
822
912
|
pe && pe.dispatch(pe.mousewheel, ms);
|
|
823
913
|
}
|
|
824
|
-
this.dispatch(
|
|
914
|
+
this.dispatch(_this.mousewheel, ms);
|
|
825
915
|
}
|
|
826
916
|
|
|
827
917
|
if (ms.moving) {
|
|
@@ -829,45 +919,46 @@ class RendererEvents extends Events {
|
|
|
829
919
|
pe = po.rendererEvents;
|
|
830
920
|
pe && pe.dispatch(pe.mousemove, ms);
|
|
831
921
|
}
|
|
832
|
-
this.dispatch(
|
|
922
|
+
this.dispatch(_this.mousemove, ms);
|
|
833
923
|
ms.prev_x = ms.x;
|
|
834
924
|
ms.prev_y = ms.y;
|
|
835
925
|
}
|
|
836
926
|
|
|
837
927
|
if (ms.justStopped) {
|
|
838
|
-
this.dispatch(
|
|
928
|
+
this.dispatch(_this.mousestop, ms);
|
|
839
929
|
}
|
|
840
930
|
}
|
|
841
931
|
|
|
842
932
|
/**
|
|
843
|
-
* @
|
|
933
|
+
* @protected
|
|
844
934
|
*/
|
|
845
|
-
handleTouchEvents() {
|
|
935
|
+
protected handleTouchEvents() {
|
|
936
|
+
let _this = this as RendererEventsHandler;
|
|
937
|
+
|
|
846
938
|
let ts = this.touchState;
|
|
847
939
|
|
|
848
940
|
let tpo = ts.pickingObject,
|
|
849
941
|
tpe = null;
|
|
850
942
|
|
|
851
943
|
if (ts.touchCancel) {
|
|
852
|
-
this.dispatch(
|
|
944
|
+
this.dispatch(_this.touchcancel, ts);
|
|
853
945
|
ts.touchCancel = false;
|
|
854
946
|
}
|
|
855
947
|
|
|
856
948
|
if (ts.touchStart) {
|
|
857
949
|
let r = this.renderer;
|
|
858
950
|
|
|
859
|
-
r.pickingFramebuffer
|
|
860
|
-
r.pickingFramebuffer
|
|
861
|
-
r.pickingFramebuffer
|
|
951
|
+
r.pickingFramebuffer!.activate();
|
|
952
|
+
r.pickingFramebuffer!.readPixels(_currPickingColor, ts.nx, 1.0 - ts.ny, 1);
|
|
953
|
+
r.pickingFramebuffer!.deactivate();
|
|
862
954
|
|
|
863
|
-
let
|
|
864
|
-
let co = r.getPickingObjectArr(c);
|
|
955
|
+
let co = r.getPickingObjectArr<any>(_currPickingColor);
|
|
865
956
|
tpo = ts.pickingObject = co;
|
|
866
957
|
if (tpo) {
|
|
867
958
|
tpe = tpo.rendererEvents;
|
|
868
959
|
tpe && tpe.dispatch(tpe.touchstart, ts);
|
|
869
960
|
}
|
|
870
|
-
this.dispatch(
|
|
961
|
+
this.dispatch(_this.touchstart, ts);
|
|
871
962
|
ts.touchStart = false;
|
|
872
963
|
}
|
|
873
964
|
|
|
@@ -876,7 +967,7 @@ class RendererEvents extends Events {
|
|
|
876
967
|
tpe = tpo.rendererEvents;
|
|
877
968
|
tpe && tpe.dispatch(tpe.doubletouch, ts);
|
|
878
969
|
}
|
|
879
|
-
this.dispatch(
|
|
970
|
+
this.dispatch(_this.doubletouch, ts);
|
|
880
971
|
ts.doubleTouch = false;
|
|
881
972
|
}
|
|
882
973
|
|
|
@@ -885,7 +976,7 @@ class RendererEvents extends Events {
|
|
|
885
976
|
tpe = tpo.rendererEvents;
|
|
886
977
|
tpe && tpe.dispatch(tpe.touchend, ts);
|
|
887
978
|
}
|
|
888
|
-
this.dispatch(
|
|
979
|
+
this.dispatch(_this.touchend, ts);
|
|
889
980
|
ts.x = 0;
|
|
890
981
|
ts.y = 0;
|
|
891
982
|
ts.touchEnd = false;
|
|
@@ -896,14 +987,14 @@ class RendererEvents extends Events {
|
|
|
896
987
|
tpe = tpo.rendererEvents;
|
|
897
988
|
tpe && tpe.dispatch(tpe.touchmove, ts);
|
|
898
989
|
}
|
|
899
|
-
this.dispatch(
|
|
990
|
+
this.dispatch(_this.touchmove, ts);
|
|
900
991
|
ts.prev_x = ts.x;
|
|
901
992
|
ts.prev_y = ts.y;
|
|
902
993
|
}
|
|
903
994
|
}
|
|
904
995
|
}
|
|
905
996
|
|
|
906
|
-
const
|
|
997
|
+
const RENDERER_EVENTS: RendererEventsType = [
|
|
907
998
|
/**
|
|
908
999
|
* Triggered before scene frame is rendered(before render nodes).
|
|
909
1000
|
* @event og.RendererEvents#draw
|
|
@@ -1091,4 +1182,4 @@ const EVENT_NAMES = [
|
|
|
1091
1182
|
"touchenter"
|
|
1092
1183
|
];
|
|
1093
1184
|
|
|
1094
|
-
export {
|
|
1185
|
+
export {RendererEvents};
|