@openglobus/og 0.17.1 → 0.18.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +75 -46
- package/dist/@openglobus/og.esm.js +1 -20
- package/dist/@openglobus/og.esm.js.map +1 -1
- package/dist/@openglobus/og.umd.js +1 -20
- package/dist/@openglobus/og.umd.js.map +1 -1
- package/dist/@openglobus/res/fonts/Karla-Bold.json +5252 -0
- package/dist/@openglobus/res/fonts/Karla-Bold.ttf.cfg +920 -0
- package/dist/@openglobus/res/fonts/Karla-Bold.ttf.png +0 -0
- package/dist/@openglobus/res/fonts/Karla-Light.json +5252 -0
- package/dist/@openglobus/res/fonts/Karla-Light.ttf.cfg +830 -0
- package/dist/@openglobus/res/fonts/Karla-Light.ttf.png +0 -0
- package/dist/@openglobus/res/fonts/Karla-Medium.json +5252 -0
- package/dist/@openglobus/res/fonts/Karla-Medium.ttf.cfg +1196 -0
- package/dist/@openglobus/res/fonts/Karla-Medium.ttf.png +0 -0
- package/dist/@openglobus/res/fonts/NotoSansArabic-Regular.json +3332 -0
- package/dist/@openglobus/res/fonts/NotoSansArabic-Regular.ttf.cfg +1370 -0
- package/dist/@openglobus/res/fonts/NotoSansArabic-Regular.ttf.png +0 -0
- package/dist/@openglobus/res/fonts/Roboto-Regular.json +37147 -0
- package/dist/@openglobus/res/fonts/Roboto-Regular.ttf.cfg +1340 -0
- package/dist/@openglobus/res/fonts/Roboto-Regular.ttf.png +0 -0
- package/dist/@openglobus/res/fonts/arial.json +4321 -0
- package/dist/@openglobus/res/fonts/arial.ttf.cfg +1570 -0
- package/dist/@openglobus/res/fonts/arial.ttf.png +0 -0
- package/dist/@openglobus/res/night-4326.png +0 -0
- package/dist/@openglobus/res/night.png +0 -0
- package/dist/@openglobus/res/spec.png +0 -0
- package/package.json +25 -23
- package/src/{og/Clock.js → Clock.ts} +100 -78
- package/src/Deferred.ts +17 -0
- package/src/Events.ts +200 -0
- package/src/{og/Extent.js → Extent.ts} +324 -352
- package/src/Globe.ts +363 -0
- package/src/{og/ImageCanvas.js → ImageCanvas.ts} +244 -236
- package/src/Lock.ts +41 -0
- package/src/{og/LonLat.js → LonLat.ts} +50 -47
- package/src/{og/Object3d.js → Object3d.ts} +89 -55
- package/src/Popup.ts +228 -0
- package/src/{og/QueueArray.js → QueueArray.ts} +76 -75
- package/src/{og/Rectangle.js → Rectangle.ts} +115 -111
- package/src/Stack.ts +58 -0
- package/src/{og/astro/astro.js → astro/astro.ts} +49 -51
- package/src/{og/astro/earth.js → astro/earth.ts} +8 -9
- package/src/{og/astro/jd.js → astro/jd.ts} +92 -111
- package/src/{og/astro/orbit.js → astro/orbit.ts} +35 -37
- package/src/{og/astro/rotation.js → astro/rotation.ts} +4 -6
- package/src/{og/bv/Box.js → bv/Box.ts} +21 -17
- package/src/{og/bv/Sphere.js → bv/Sphere.ts} +21 -19
- package/src/bv/index.ts +4 -0
- package/src/{og/camera/Camera.js → camera/Camera.ts} +254 -197
- package/src/{og/camera/Frustum.js → camera/Frustum.ts} +137 -111
- package/src/{og/camera/PlanetCamera.js → camera/PlanetCamera.ts} +248 -185
- package/src/camera/index.ts +4 -0
- package/src/{og/cons.js → cons.ts} +14 -18
- package/src/{og/control/Atmosphere.js → control/Atmosphere.ts} +50 -50
- package/src/{og/control/CompassButton.js → control/CompassButton.ts} +27 -30
- package/src/{og/control/Control.js → control/Control.ts} +76 -70
- package/src/{og/control/DebugInfo.js → control/DebugInfo.ts} +130 -62
- package/src/{og/control/DrawingSwitcher.js → control/DrawingSwitcher.ts} +16 -22
- package/src/control/EarthCoordinates.ts +222 -0
- package/src/control/EarthNavigation.ts +293 -0
- package/src/{og/control/GeoImageDragControl.js → control/GeoImageDragControl.ts} +37 -29
- package/src/control/KeyboardNavigation.ts +168 -0
- package/src/{og/control/LayerAnimation.js → control/LayerAnimation.ts} +74 -90
- package/src/control/LayerSwitcher.ts +76 -0
- package/src/{og/control/Lighting.js → control/Lighting.ts} +158 -120
- package/src/control/MouseNavigation.ts +468 -0
- package/src/control/MouseWheelZoomControl.ts +269 -0
- package/src/{og/control/RulerSwitcher.js → control/RulerSwitcher.ts} +18 -20
- package/src/control/ScaleControl.ts +131 -0
- package/src/control/SegmentBoundVisualization.ts +50 -0
- package/src/control/ShowFps.ts +28 -0
- package/src/control/SimpleNavigation.ts +118 -0
- package/src/{og/control/SimpleSkyBackground.js → control/SimpleSkyBackground.ts} +36 -38
- package/src/{og/control/Sun.js → control/Sun.ts} +56 -64
- package/src/control/ToggleWireframe.ts +35 -0
- package/src/control/TouchNavigation.ts +368 -0
- package/src/control/ZoomControl.ts +111 -0
- package/src/control/drawing/DrawingControl.ts +45 -0
- package/src/{og/control/drawing/LineStringDrawingScene.js → control/drawing/LineStringDrawingScene.ts} +28 -35
- package/src/{og/control/drawing/PolygonDrawingScene.js → control/drawing/PolygonDrawingScene.ts} +148 -201
- package/src/{og/control/elevationProfile/ElevationProfile.js → control/elevationProfile/ElevationProfile.ts} +70 -36
- package/src/control/heightRuler/HeightRuler.ts +16 -0
- package/src/{og/control/heightRuler/HeightRulerScene.js → control/heightRuler/HeightRulerScene.ts} +92 -87
- package/src/{og/control/heightRuler/HeightRulerSwitcher.js → control/heightRuler/HeightRulerSwitcher.ts} +3 -3
- package/src/control/index.ts +45 -0
- package/src/control/ruler/Ruler.ts +35 -0
- package/src/{og/control/ruler/RulerScene.js → control/ruler/RulerScene.ts} +163 -121
- package/src/{og/control/selection/Selection.js → control/selection/Selection.ts} +23 -21
- package/src/{og/control/selection/SelectionScene.js → control/selection/SelectionScene.ts} +64 -50
- package/src/{og/control/timeline/TimelineControl.js → control/timeline/TimelineControl.ts} +37 -28
- package/src/{og/control/timeline/TimelineModel.js → control/timeline/TimelineModel.ts} +50 -35
- package/src/{og/control/timeline/TimelineView.js → control/timeline/TimelineView.ts} +162 -113
- package/src/{og/control/timeline/timelineUtils.js → control/timeline/timelineUtils.ts} +11 -10
- package/src/{og/control → control}/visibleExtent/Segment.js +5 -5
- package/src/{og/control → control}/visibleExtent/VisibleExtent.js +8 -15
- package/src/{og/control/visibleExtent/drawnode.js → control/visibleExtent/drawnode.ts} +1 -3
- package/src/{og/ellipsoid/Ellipsoid.js → ellipsoid/Ellipsoid.ts} +113 -59
- package/src/ellipsoid/index.ts +4 -0
- package/src/{og/ellipsoid/wgs84.js → ellipsoid/wgs84.ts} +1 -3
- package/src/{og/entity/BaseBillboard.js → entity/BaseBillboard.ts} +128 -102
- package/src/entity/BaseBillboardHandler.ts +772 -0
- package/src/{og/entity/Billboard.js → entity/Billboard.ts} +77 -47
- package/src/entity/BillboardHandler.ts +135 -0
- package/src/{og/entity/Entity.js → entity/Entity.ts} +285 -226
- package/src/{og/entity/EntityCollection.js → entity/EntityCollection.ts} +340 -247
- package/src/{og/entity/GeoObject.js → entity/GeoObject.ts} +122 -67
- package/src/{og/entity/GeoObjectHandler.js → entity/GeoObjectHandler.ts} +273 -198
- package/src/entity/Geometry.ts +486 -0
- package/src/{og/entity/GeometryHandler.js → entity/GeometryHandler.ts} +383 -541
- package/src/{og/entity/Label.js → entity/Label.ts} +131 -83
- package/src/{og/entity/LabelHandler.js → entity/LabelHandler.ts} +289 -255
- package/src/{og/entity/LabelWorker.js → entity/LabelWorker.ts} +26 -36
- package/src/{og/entity/PointCloud.js → entity/PointCloud.ts} +200 -164
- package/src/entity/PointCloudHandler.ts +125 -0
- package/src/{og/entity/Polyline.js → entity/Polyline.ts} +517 -539
- package/src/{og/entity/PolylineHandler.js → entity/PolylineHandler.ts} +29 -31
- package/src/{og/entity/Ray.js → entity/Ray.ts} +89 -60
- package/src/{og/entity/RayHandler.js → entity/RayHandler.ts} +201 -306
- package/src/{og/entity/Strip.js → entity/Strip.ts} +143 -100
- package/src/{og/entity/StripHandler.js → entity/StripHandler.ts} +76 -72
- package/src/entity/index.ts +12 -0
- package/src/index.ts +173 -0
- package/src/input/KeyboardHandler.ts +196 -0
- package/src/{og/input/MouseHandler.js → input/MouseHandler.ts} +46 -35
- package/src/input/TouchHandler.ts +54 -0
- package/src/{og/input/input.js → input/input.ts} +1 -3
- package/src/{og/layer/BaseGeoImage.js → layer/BaseGeoImage.ts} +174 -107
- package/src/{og/layer/CanvasTiles.js → layer/CanvasTiles.ts} +139 -105
- package/src/{og/layer/GeoImage.js → layer/GeoImage.ts} +62 -52
- package/src/layer/GeoTexture2d.ts +56 -0
- package/src/{og/layer/GeoVideo.js → layer/GeoVideo.ts} +53 -53
- package/src/{og/layer/KML.js → layer/KML.ts} +63 -74
- package/src/{og/layer/Layer.js → layer/Layer.ts} +399 -223
- package/src/{og/layer/Material.js → layer/Material.ts} +40 -35
- package/src/{og/layer/Vector.js → layer/Vector.ts} +319 -267
- package/src/{og/layer/WMS.js → layer/WMS.ts} +76 -64
- package/src/{og/layer/XYZ.js → layer/XYZ.ts} +123 -98
- package/src/layer/index.ts +12 -0
- package/src/{og/light/LightSource.js → light/LightSource.ts} +132 -93
- package/src/{og/math/Line2.js → math/Line2.ts} +11 -8
- package/src/{og/math/Line3.js → math/Line3.ts} +49 -27
- package/src/{og/math/Mat3.js → math/Mat3.ts} +43 -27
- package/src/{og/math/Mat4.js → math/Mat4.ts} +110 -77
- package/src/{og/math/Plane.js → math/Plane.ts} +28 -23
- package/src/{og/math/Quat.js → math/Quat.ts} +238 -222
- package/src/{og/math/Ray.js → math/Ray.ts} +59 -63
- package/src/{og/math/Vec2.js → math/Vec2.ts} +85 -76
- package/src/{og/math/Vec3.js → math/Vec3.ts} +141 -140
- package/src/{og/math/Vec4.js → math/Vec4.ts} +64 -53
- package/src/{og/math/coder.js → math/coder.ts} +30 -27
- package/src/math/index.ts +26 -0
- package/src/{og/math.js → math.ts} +46 -49
- package/src/{og/mercator.js → mercator.ts} +143 -149
- package/src/{og/proj/EPSG3857.js → proj/EPSG3857.ts} +1 -3
- package/src/{og/proj/EPSG4326.js → proj/EPSG4326.ts} +11 -13
- package/src/{og/proj/Proj.js → proj/Proj.ts} +27 -23
- package/src/{og/quadTree/EPSG4326QuadTreeStrategy.js → quadTree/EPSG4326QuadTreeStrategy.ts} +10 -13
- package/src/{og/quadTree/EarthQuadTreeStrategy.js → quadTree/EarthQuadTreeStrategy.ts} +11 -13
- package/src/quadTree/EntityCollectionNode.ts +395 -0
- package/src/{og/quadTree/MarsQuadTreeStrategy.js → quadTree/MarsQuadTreeStrategy.ts} +10 -13
- package/src/{og/quadTree/Node.js → quadTree/Node.ts} +283 -191
- package/src/{og/quadTree/QuadTreeStrategy.js → quadTree/QuadTreeStrategy.ts} +35 -29
- package/src/quadTree/Wgs84QuadTreeStrategy.ts +22 -0
- package/src/quadTree/index.ts +14 -0
- package/src/{og/quadTree/quadTree.js → quadTree/quadTree.ts} +75 -77
- package/src/{og/renderer/Renderer.js → renderer/Renderer.ts} +454 -298
- package/src/{og/renderer/RendererEvents.js → renderer/RendererEvents.ts} +347 -270
- package/src/{og/scene/Axes.js → scene/Axes.ts} +26 -22
- package/src/{og/scene/BaseNode.js → scene/BaseNode.ts} +53 -47
- package/src/{og/scene/Planet.js → scene/Planet.ts} +777 -595
- package/src/{og/scene/RenderNode.js → scene/RenderNode.ts} +105 -91
- package/src/{og/scene/SkyBox.js → scene/SkyBox.ts} +29 -25
- package/src/scene/index.ts +6 -0
- package/src/{og/segment/Segment.js → segment/Segment.ts} +497 -371
- package/src/{og/segment/SegmentLonLat.js → segment/SegmentLonLat.ts} +81 -87
- package/src/{og/segment/SegmentLonLatWgs84.js → segment/SegmentLonLatWgs84.ts} +9 -16
- package/src/{og/segment/Slice.js → segment/Slice.ts} +15 -9
- package/src/{og/segment/segmentHelper.js → segment/segmentHelper.ts} +57 -49
- package/src/{og/shaders/atmos.js → shaders/atmos.ts} +4 -6
- package/src/{og/shaders/billboard.js → shaders/billboard.ts} +3 -5
- package/src/{og/shaders/bloom.js → shaders/bloom.ts} +2 -4
- package/src/{og/shaders/blur.js → shaders/blur.ts} +4 -7
- package/src/{og/shaders/depth.js → shaders/depth.ts} +1 -3
- package/src/{og/shaders/drawnode.js → shaders/drawnode.ts} +19 -21
- package/src/{og/shaders/geoObject.js → shaders/geoObject.ts} +17 -19
- package/src/{og/shaders/label.js → shaders/label.ts} +4 -6
- package/src/{og/shaders/lumFilter.js → shaders/lumFilter.ts} +2 -4
- package/src/{og/shaders/pickingMask.js → shaders/pickingMask.ts} +2 -4
- package/src/{og/shaders/pointCloud.js → shaders/pointCloud.ts} +7 -10
- package/src/{og/shaders/polyline.js → shaders/polyline.ts} +3 -200
- package/src/{og/shaders/ray.js → shaders/ray.ts} +2 -4
- package/src/{og/shaders/screenFrame.js → shaders/screenFrame.ts} +2 -4
- package/src/{og/shaders/skybox.js → shaders/skybox.ts} +7 -9
- package/src/{og/shaders/toneMapping.js → shaders/toneMapping.ts} +2 -4
- package/src/{og/shaders/utils.js → shaders/utils.ts} +0 -2
- package/src/{og/terrain/BilTerrain.js → terrain/BilTerrain.ts} +38 -32
- package/src/terrain/EmptyTerrain.ts +230 -0
- package/src/{og/terrain/Geoid.js → terrain/Geoid.ts} +67 -41
- package/src/{og/terrain/GlobusTerrain.js → terrain/GlobusTerrain.ts} +159 -153
- package/src/{og/terrain/MapboxTerrain.js → terrain/MapboxTerrain.ts} +58 -61
- package/src/terrain/index.ts +6 -0
- package/src/ui/Button.ts +121 -0
- package/src/ui/ButtonGroup.ts +63 -0
- package/src/ui/Dialog.ts +244 -0
- package/src/ui/Slider.ts +188 -0
- package/src/ui/ToggleButton.ts +68 -0
- package/src/{og/ui/View.js → ui/View.ts} +66 -59
- package/src/utils/BaseWorker.ts +60 -0
- package/src/utils/FontAtlas.ts +356 -0
- package/src/{og/utils/GeoImageCreator.js → utils/GeoImageCreator.ts} +45 -29
- package/src/{og/utils/ImagesCacheManager.js → utils/ImagesCacheManager.ts} +85 -70
- package/src/utils/Loader.ts +247 -0
- package/src/{og/utils/NormalMapCreator.js → utils/NormalMapCreator.ts} +114 -77
- package/src/{og/utils/PlainSegmentWorker.js → utils/PlainSegmentWorker.ts} +41 -24
- package/src/{og/utils/TerrainWorker.js → utils/TerrainWorker.ts} +51 -36
- package/src/utils/TextureAtlas.ts +322 -0
- package/src/{og/utils/VectorTileCreator.js → utils/VectorTileCreator.ts} +67 -52
- package/src/{og/utils/colorTable.js → utils/colorTable.ts} +142 -144
- package/src/{og/utils/earcut.js → utils/earcut.ts} +664 -661
- package/src/{og/utils/objParser.js → utils/objParser.ts} +66 -37
- package/src/{og/utils/shared.js → utils/shared.ts} +267 -206
- package/src/utils/units.ts +78 -0
- package/src/webgl/BaseFramebuffer.ts +125 -0
- package/src/webgl/Framebuffer.ts +206 -0
- package/src/webgl/Handler.ts +1414 -0
- package/src/webgl/Multisample.ts +153 -0
- package/src/webgl/Program.ts +451 -0
- package/src/{og/webgl/ProgramController.js → webgl/ProgramController.ts} +44 -43
- package/src/webgl/index.ts +13 -0
- package/src/{og/webgl/types.js → webgl/types.ts} +29 -31
- package/src/webgl/variableHandlers.ts +114 -0
- package/src/og/Deferred.js +0 -11
- package/src/og/Events.js +0 -185
- package/src/og/Globe.js +0 -342
- package/src/og/Lock.js +0 -44
- package/src/og/Popup.js +0 -187
- package/src/og/Stack.js +0 -49
- package/src/og/bv/index.js +0 -4
- package/src/og/camera/index.js +0 -4
- package/src/og/control/EarthCoordinates.js +0 -214
- package/src/og/control/EarthNavigation.js +0 -258
- package/src/og/control/KeyboardNavigation.js +0 -149
- package/src/og/control/LayerSwitcher.js +0 -424
- package/src/og/control/MouseNavigation.js +0 -436
- package/src/og/control/MouseWheelZoomControl.js +0 -253
- package/src/og/control/ScaleControl.js +0 -119
- package/src/og/control/SegmentBoundVisualization.js +0 -54
- package/src/og/control/ShowFps.js +0 -40
- package/src/og/control/SimpleNavigation.js +0 -123
- package/src/og/control/ToggleWireframe.js +0 -35
- package/src/og/control/TouchNavigation.js +0 -350
- package/src/og/control/ZoomControl.js +0 -115
- package/src/og/control/drawing/DrawingControl.js +0 -51
- package/src/og/control/heightRuler/HeightRuler.js +0 -12
- package/src/og/control/index.js +0 -56
- package/src/og/control/ruler/Ruler.js +0 -39
- package/src/og/ellipsoid/index.js +0 -4
- package/src/og/entity/BillboardHandler.js +0 -883
- package/src/og/entity/Geometry.js +0 -320
- package/src/og/entity/PointCloudHandler.js +0 -122
- package/src/og/entity/index.js +0 -9
- package/src/og/index.js +0 -112
- package/src/og/input/KeyboardHandler.js +0 -128
- package/src/og/input/TouchHandler.js +0 -59
- package/src/og/layer/GeoTexture2d.js +0 -50
- package/src/og/layer/index.js +0 -11
- package/src/og/math/index.js +0 -23
- package/src/og/quadTree/EntityCollectionNode.js +0 -391
- package/src/og/quadTree/Wgs84QuadTreeStrategy.js +0 -27
- package/src/og/quadTree/index.js +0 -14
- package/src/og/res/images.js +0 -8
- package/src/og/scene/index.js +0 -5
- package/src/og/terrain/EmptyTerrain.js +0 -174
- package/src/og/terrain/index.js +0 -6
- package/src/og/ui/Button.js +0 -107
- package/src/og/ui/ButtonGroup.js +0 -57
- package/src/og/ui/Dialog.js +0 -239
- package/src/og/ui/Slider.js +0 -170
- package/src/og/ui/ToggleButton.js +0 -51
- package/src/og/ui/UIhelpers.js +0 -155
- package/src/og/utils/BaseWorker.js +0 -46
- package/src/og/utils/FontAtlas.js +0 -218
- package/src/og/utils/Loader.js +0 -188
- package/src/og/utils/TextureAtlas.js +0 -291
- package/src/og/utils/functionComposition.js +0 -13
- package/src/og/utils/units.js +0 -78
- package/src/og/webgl/Framebuffer.js +0 -311
- package/src/og/webgl/Handler.js +0 -1168
- package/src/og/webgl/Multisample.js +0 -275
- package/src/og/webgl/Program.js +0 -407
- package/src/og/webgl/callbacks.js +0 -98
- package/src/og/webgl/index.js +0 -13
- package/src/og.jsdoc +0 -3
- package/types/Clock.d.ts +0 -99
- package/types/Deferred.d.ts +0 -6
- package/types/Events.d.ts +0 -78
- package/types/Extent.d.ts +0 -166
- package/types/Globe.d.ts +0 -108
- package/types/ImageCanvas.d.ts +0 -128
- package/types/Lock.d.ts +0 -12
- package/types/LonLat.d.ts +0 -127
- package/types/Object3d.d.ts +0 -35
- package/types/Popup.d.ts +0 -29
- package/types/QueueArray.d.ts +0 -19
- package/types/Rectangle.d.ts +0 -80
- package/types/Stack.d.ts +0 -19
- package/types/arial.d.ts +0 -49
- package/types/astro/astro.d.ts +0 -38
- package/types/astro/earth.d.ts +0 -7
- package/types/astro/jd.d.ts +0 -254
- package/types/bv/Box.d.ts +0 -30
- package/types/bv/Sphere.d.ts +0 -38
- package/types/bv/index.d.ts +0 -3
- package/types/camera/Camera.d.ts +0 -314
- package/types/camera/Frustum.d.ts +0 -133
- package/types/camera/PlanetCamera.d.ts +0 -219
- package/types/camera/index.d.ts +0 -3
- package/types/cons.d.ts +0 -40
- package/types/control/Atmosphere.d.ts +0 -15
- package/types/control/CompassButton.d.ts +0 -16
- package/types/control/Control.d.ts +0 -104
- package/types/control/DebugInfo.d.ts +0 -19
- package/types/control/DrawingSwitcher.d.ts +0 -13
- package/types/control/EarthCoordinates.d.ts +0 -44
- package/types/control/EarthNavigation.d.ts +0 -43
- package/types/control/GeoImageDragControl.d.ts +0 -14
- package/types/control/KeyboardNavigation.d.ts +0 -24
- package/types/control/LayerAnimation.d.ts +0 -73
- package/types/control/LayerSwitcher.d.ts +0 -64
- package/types/control/Lighting.d.ts +0 -41
- package/types/control/MouseNavigation.d.ts +0 -49
- package/types/control/MouseWheelZoomControl.d.ts +0 -46
- package/types/control/ScaleControl.d.ts +0 -23
- package/types/control/ShowFps.d.ts +0 -11
- package/types/control/SimpleNavigation.d.ts +0 -26
- package/types/control/SimpleSkyBackground.d.ts +0 -15
- package/types/control/Sun.d.ts +0 -53
- package/types/control/ToggleWireframe.d.ts +0 -12
- package/types/control/TouchNavigation.d.ts +0 -54
- package/types/control/ZoomControl.d.ts +0 -26
- package/types/control/drawing/DrawingControl.d.ts +0 -14
- package/types/control/drawing/LineStringDrawingScene.d.ts +0 -5
- package/types/control/drawing/PolygonDrawingScene.d.ts +0 -99
- package/types/control/heightRuler/HeightRuler.d.ts +0 -6
- package/types/control/heightRuler/HeightRulerScene.d.ts +0 -23
- package/types/control/index.d.ts +0 -27
- package/types/control/ruler/Ruler.d.ts +0 -13
- package/types/control/ruler/RulerScene.d.ts +0 -51
- package/types/control/selection/Selection.d.ts +0 -49
- package/types/control/selection/SelectionScene.d.ts +0 -32
- package/types/control/timeline/TimelineControl.d.ts +0 -10
- package/types/control/timeline/TimelineModel.d.ts +0 -33
- package/types/control/timeline/TimelineView.d.ts +0 -57
- package/types/control/timeline/timelineUtils.d.ts +0 -9
- package/types/ellipsoid/Ellipsoid.d.ts +0 -170
- package/types/ellipsoid/index.d.ts +0 -3
- package/types/ellipsoid/wgs84.d.ts +0 -6
- package/types/entity/BaseBillboard.d.ts +0 -215
- package/types/entity/Billboard.d.ts +0 -94
- package/types/entity/BillboardHandler.d.ts +0 -75
- package/types/entity/Entity.d.ts +0 -340
- package/types/entity/EntityCollection.d.ts +0 -303
- package/types/entity/GeoObject.d.ts +0 -117
- package/types/entity/GeoObjectHandler.d.ts +0 -41
- package/types/entity/Geometry.d.ts +0 -79
- package/types/entity/GeometryHandler.d.ts +0 -76
- package/types/entity/Label.d.ts +0 -190
- package/types/entity/LabelHandler.d.ts +0 -31
- package/types/entity/LabelWorker.d.ts +0 -9
- package/types/entity/PointCloud.d.ts +0 -174
- package/types/entity/PointCloudHandler.d.ts +0 -38
- package/types/entity/Polyline.d.ts +0 -307
- package/types/entity/PolylineHandler.d.ts +0 -18
- package/types/entity/Ray.d.ts +0 -122
- package/types/entity/RayHandler.d.ts +0 -63
- package/types/entity/Strip.d.ts +0 -119
- package/types/entity/StripHandler.d.ts +0 -38
- package/types/entity/index.d.ts +0 -8
- package/types/index.d.ts +0 -53
- package/types/input/KeyboardHandler.d.ts +0 -10
- package/types/input/MouseHandler.d.ts +0 -5
- package/types/input/TouchHandler.d.ts +0 -5
- package/types/input/input.d.ts +0 -42
- package/types/layer/BaseGeoImage.d.ts +0 -116
- package/types/layer/CanvasTiles.d.ts +0 -73
- package/types/layer/GeoImage.d.ts +0 -51
- package/types/layer/GeoTexture2d.d.ts +0 -7
- package/types/layer/GeoVideo.d.ts +0 -47
- package/types/layer/KML.d.ts +0 -93
- package/types/layer/Layer.d.ts +0 -320
- package/types/layer/Material.d.ts +0 -45
- package/types/layer/Vector.d.ts +0 -211
- package/types/layer/WMS.d.ts +0 -66
- package/types/layer/XYZ.d.ts +0 -122
- package/types/layer/index.d.ts +0 -10
- package/types/light/LightSource.d.ts +0 -178
- package/types/math/Line2.d.ts +0 -11
- package/types/math/Line3.d.ts +0 -10
- package/types/math/Mat3.d.ts +0 -65
- package/types/math/Mat4.d.ts +0 -176
- package/types/math/Plane.d.ts +0 -18
- package/types/math/Quat.d.ts +0 -379
- package/types/math/Ray.d.ts +0 -82
- package/types/math/Vec2.d.ts +0 -309
- package/types/math/Vec3.d.ts +0 -472
- package/types/math/Vec4.d.ts +0 -161
- package/types/math/coder.d.ts +0 -43
- package/types/math/index.d.ts +0 -11
- package/types/math.d.ts +0 -268
- package/types/mercator.d.ts +0 -92
- package/types/proj/EPSG3857.d.ts +0 -6
- package/types/proj/EPSG4326.d.ts +0 -6
- package/types/proj/Proj.d.ts +0 -42
- package/types/quadTree/EPSG4326QuadTreeStrategy.d.ts +0 -3
- package/types/quadTree/EarthQuadTreeStrategy.d.ts +0 -3
- package/types/quadTree/EntityCollectionNode.d.ts +0 -41
- package/types/quadTree/MarsQuadTreeStrategy.d.ts +0 -3
- package/types/quadTree/Node.d.ts +0 -58
- package/types/quadTree/QuadTreeStrategy.d.ts +0 -21
- package/types/quadTree/Wgs84QuadTreeStrategy.d.ts +0 -3
- package/types/quadTree/index.d.ts +0 -12
- package/types/quadTree/quadTree.d.ts +0 -40
- package/types/renderer/Renderer.d.ts +0 -291
- package/types/renderer/RendererEvents.d.ts +0 -255
- package/types/res/images.d.ts +0 -2
- package/types/scene/Axes.d.ts +0 -10
- package/types/scene/BaseNode.d.ts +0 -60
- package/types/scene/Planet.d.ts +0 -595
- package/types/scene/RenderNode.d.ts +0 -152
- package/types/scene/SkyBox.d.ts +0 -9
- package/types/scene/index.d.ts +0 -4
- package/types/segment/Segment.d.ts +0 -273
- package/types/segment/SegmentLonLat.d.ts +0 -22
- package/types/segment/SegmentLonLatWgs84.d.ts +0 -4
- package/types/segment/Slice.d.ts +0 -10
- package/types/segment/segmentHelper.d.ts +0 -13
- package/types/shaders/atmos.d.ts +0 -4
- package/types/shaders/billboard.d.ts +0 -3
- package/types/shaders/depth.d.ts +0 -2
- package/types/shaders/drawnode.d.ts +0 -8
- package/types/shaders/geoObject.d.ts +0 -3
- package/types/shaders/label.d.ts +0 -4
- package/types/shaders/pickingMask.d.ts +0 -2
- package/types/shaders/pointCloud.d.ts +0 -2
- package/types/shaders/polyline.d.ts +0 -3
- package/types/shaders/ray.d.ts +0 -2
- package/types/shaders/screenFrame.d.ts +0 -2
- package/types/shaders/skybox.d.ts +0 -2
- package/types/shaders/toneMapping.d.ts +0 -2
- package/types/shaders/utils.d.ts +0 -1
- package/types/terrain/BilTerrain.d.ts +0 -14
- package/types/terrain/EmptyTerrain.d.ts +0 -87
- package/types/terrain/Geoid.d.ts +0 -17
- package/types/terrain/GlobusTerrain.d.ts +0 -122
- package/types/terrain/MapboxTerrain.d.ts +0 -14
- package/types/terrain/index.d.ts +0 -5
- package/types/ui/Button.d.ts +0 -21
- package/types/ui/ButtonGroup.d.ts +0 -12
- package/types/ui/Dialog.d.ts +0 -41
- package/types/ui/Slider.d.ts +0 -33
- package/types/ui/ToggleButton.d.ts +0 -10
- package/types/ui/UIhelpers.d.ts +0 -13
- package/types/ui/View.d.ts +0 -33
- package/types/ui/icons.d.ts +0 -1
- package/types/utils/BaseWorker.d.ts +0 -14
- package/types/utils/FontAtlas.d.ts +0 -16
- package/types/utils/GeoImageCreator.d.ts +0 -30
- package/types/utils/ImagesCacheManager.d.ts +0 -10
- package/types/utils/Loader.d.ts +0 -31
- package/types/utils/NormalMapCreator.d.ts +0 -39
- package/types/utils/PlainSegmentWorker.d.ts +0 -8
- package/types/utils/TerrainWorker.d.ts +0 -7
- package/types/utils/TextureAtlas.d.ts +0 -113
- package/types/utils/VectorTileCreator.d.ts +0 -14
- package/types/utils/colorTable.d.ts +0 -143
- package/types/utils/earcut.d.ts +0 -6
- package/types/utils/functionComposition.d.ts +0 -5
- package/types/utils/objParser.d.ts +0 -8
- package/types/utils/shared.d.ts +0 -241
- package/types/utils/units.d.ts +0 -20
- package/types/webgl/Framebuffer.d.ts +0 -134
- package/types/webgl/Handler.d.ts +0 -403
- package/types/webgl/Multisample.d.ts +0 -91
- package/types/webgl/Program.d.ts +0 -163
- package/types/webgl/ProgramController.d.ts +0 -89
- package/types/webgl/callbacks.d.ts +0 -1
- package/types/webgl/index.d.ts +0 -6
- package/types/webgl/types.d.ts +0 -2
- /package/{src/og → dist/@openglobus/res/fonts}/arial.js +0 -0
- /package/src/{og/ui/icons.js → ui/icons.ts} +0 -0
|
@@ -1,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
|
+
}
|
|
15
|
+
|
|
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
|
+
];
|
|
2
49
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
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,33 +368,19 @@ class RendererEvents extends Events {
|
|
|
256
368
|
}
|
|
257
369
|
}
|
|
258
370
|
|
|
259
|
-
|
|
260
|
-
* Set render event callback.
|
|
261
|
-
* @public
|
|
262
|
-
* @param {string} name - Event name
|
|
263
|
-
* @param {eventCallback} callback - Callback function
|
|
264
|
-
* @param {number} [key] - Key code from og.input
|
|
265
|
-
* @param {*} sender - Callback context
|
|
266
|
-
* @param {number} [priority] - Event callback priority
|
|
267
|
-
*/
|
|
268
|
-
on(name, p0, p1, p2, p3) {
|
|
371
|
+
public override on(name: string, p0: EventCallback | number, p1?: number | EventCallback, p2?: any, keyPriority?: number) {
|
|
269
372
|
if (name === "keypress" || name === "charkeypress" || name === "keyfree") {
|
|
270
|
-
this._keyboardHandler.addEvent(name,
|
|
373
|
+
this._keyboardHandler.addEvent(name, p0 as number, p1 as EventCallback, p2, keyPriority);
|
|
271
374
|
} else {
|
|
272
|
-
super.on(name, p0, p1, p2);
|
|
375
|
+
super.on(name, p0 as EventCallback, p1, p2);
|
|
273
376
|
}
|
|
274
377
|
}
|
|
275
378
|
|
|
276
|
-
|
|
277
|
-
* TODO: DOESNT WORK!!!
|
|
278
|
-
* @param {any} name
|
|
279
|
-
* @param {any} callback
|
|
280
|
-
*/
|
|
281
|
-
off(name, callback) {
|
|
379
|
+
public override off(name: string, p1?: EventCallback | number | null, p2?: EventCallback) {
|
|
282
380
|
if (name === "keypress" || name === "charkeypress" || name === "keyfree") {
|
|
283
|
-
this._keyboardHandler.removeEvent(name,
|
|
381
|
+
this._keyboardHandler.removeEvent(name, p1 as number, p2 as EventCallback);
|
|
284
382
|
} else {
|
|
285
|
-
super.off(name,
|
|
383
|
+
super.off(name, p1 as EventCallback);
|
|
286
384
|
}
|
|
287
385
|
}
|
|
288
386
|
|
|
@@ -292,11 +390,11 @@ class RendererEvents extends Events {
|
|
|
292
390
|
* @param {number} keyCode - Key code
|
|
293
391
|
* @return {boolean}
|
|
294
392
|
*/
|
|
295
|
-
isKeyPressed(keyCode) {
|
|
393
|
+
public isKeyPressed(keyCode: number): boolean {
|
|
296
394
|
return this._keyboardHandler.isKeyPressed(keyCode);
|
|
297
395
|
}
|
|
298
396
|
|
|
299
|
-
releaseKeys() {
|
|
397
|
+
public releaseKeys() {
|
|
300
398
|
this._keyboardHandler.releaseKeys();
|
|
301
399
|
}
|
|
302
400
|
|
|
@@ -304,7 +402,7 @@ class RendererEvents extends Events {
|
|
|
304
402
|
* Renderer events initialization.
|
|
305
403
|
* @public
|
|
306
404
|
*/
|
|
307
|
-
initialize() {
|
|
405
|
+
public initialize() {
|
|
308
406
|
this._mouseHandler.setEvent("mouseup", this, this.onMouseUp);
|
|
309
407
|
this._mouseHandler.setEvent("mousemove", this, this.onMouseMove);
|
|
310
408
|
this._mouseHandler.setEvent("mousedown", this, this.onMouseDown);
|
|
@@ -319,16 +417,14 @@ class RendererEvents extends Events {
|
|
|
319
417
|
}
|
|
320
418
|
|
|
321
419
|
/**
|
|
322
|
-
* @
|
|
420
|
+
* @protected
|
|
323
421
|
*/
|
|
324
|
-
onMouseWheel(event) {
|
|
325
|
-
this.mouseState.
|
|
422
|
+
protected onMouseWheel(event: MouseEventExt) {
|
|
423
|
+
this.mouseState.sys = event;
|
|
424
|
+
this.mouseState.wheelDelta = event.wheelDelta || 0;
|
|
326
425
|
}
|
|
327
426
|
|
|
328
|
-
|
|
329
|
-
* @protected
|
|
330
|
-
*/
|
|
331
|
-
updateButtonsStates(buttons) {
|
|
427
|
+
public updateButtonsStates(buttons: number) {
|
|
332
428
|
let ms = this.mouseState;
|
|
333
429
|
if ((buttons & LB_M) && ms.leftButtonDown) {
|
|
334
430
|
ms.leftButtonDown = true;
|
|
@@ -352,16 +448,13 @@ class RendererEvents extends Events {
|
|
|
352
448
|
}
|
|
353
449
|
}
|
|
354
450
|
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
*/
|
|
358
|
-
onMouseMove(event, sys) {
|
|
359
|
-
var ms = this.mouseState;
|
|
451
|
+
protected onMouseMove(sys: MouseEvent, event?: MouseHandlerEvent) {
|
|
452
|
+
let ms = this.mouseState;
|
|
360
453
|
this.updateButtonsStates(sys.buttons);
|
|
361
|
-
ms.sys =
|
|
454
|
+
ms.sys = sys;
|
|
362
455
|
|
|
363
|
-
let ex = event
|
|
364
|
-
ey = event
|
|
456
|
+
let ex = event!.clientX,
|
|
457
|
+
ey = event!.clientY,
|
|
365
458
|
r = this.clickRadius;
|
|
366
459
|
|
|
367
460
|
if (Math.abs(this._lclickX - ex) >= r && Math.abs(this._lclickY - ey) >= r) {
|
|
@@ -379,20 +472,20 @@ class RendererEvents extends Events {
|
|
|
379
472
|
this._mClkBegins = 0;
|
|
380
473
|
}
|
|
381
474
|
|
|
382
|
-
if (ms.clientX === event
|
|
475
|
+
if (ms.clientX === event!.clientX && ms.clientY === event!.clientY) {
|
|
383
476
|
return;
|
|
384
477
|
}
|
|
385
478
|
|
|
386
|
-
ms.clientX = event
|
|
387
|
-
ms.clientY = event
|
|
479
|
+
ms.clientX = event!.clientX;
|
|
480
|
+
ms.clientY = event!.clientY;
|
|
388
481
|
|
|
389
482
|
let h = this.renderer.handler;
|
|
390
483
|
|
|
391
|
-
ms.x = event
|
|
392
|
-
ms.y = event
|
|
484
|
+
ms.pos.x = ms.x = event!.clientX * h.pixelRatio;
|
|
485
|
+
ms.pos.y = ms.y = event!.clientY * h.pixelRatio;
|
|
393
486
|
|
|
394
|
-
ms.nx = ms.x / h.canvas
|
|
395
|
-
ms.ny = ms.y / h.canvas
|
|
487
|
+
ms.nx = ms.x / h.canvas!.width;
|
|
488
|
+
ms.ny = ms.y / h.canvas!.height;
|
|
396
489
|
|
|
397
490
|
ms.moving = true;
|
|
398
491
|
|
|
@@ -403,54 +496,50 @@ class RendererEvents extends Events {
|
|
|
403
496
|
}, 100);
|
|
404
497
|
}
|
|
405
498
|
|
|
406
|
-
onMouseLeave(
|
|
407
|
-
this.
|
|
499
|
+
protected onMouseLeave(sys: MouseEvent) {
|
|
500
|
+
this.mouseState.sys = sys;
|
|
501
|
+
this.dispatch((this as RendererEventsHandler).mouseleave, this.mouseState);
|
|
408
502
|
}
|
|
409
503
|
|
|
410
|
-
onMouseEnter(
|
|
411
|
-
this.
|
|
504
|
+
protected onMouseEnter(sys: MouseEvent) {
|
|
505
|
+
this.mouseState.sys = sys;
|
|
506
|
+
this.dispatch((this as RendererEventsHandler).mouseenter, this.mouseState);
|
|
412
507
|
}
|
|
413
508
|
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
*/
|
|
417
|
-
onMouseDown(event) {
|
|
418
|
-
if (event.button === input.MB_LEFT) {
|
|
509
|
+
protected onMouseDown(sys: MouseEvent, event?: MouseHandlerEvent) {
|
|
510
|
+
if (event!.button === input.MB_LEFT) {
|
|
419
511
|
this._lClkBegins = window.performance.now();
|
|
420
|
-
this._lclickX = event
|
|
421
|
-
this._lclickY = event
|
|
422
|
-
this.mouseState.sys =
|
|
512
|
+
this._lclickX = event!.clientX;
|
|
513
|
+
this._lclickY = event!.clientY;
|
|
514
|
+
this.mouseState.sys = sys;
|
|
423
515
|
this.mouseState.leftButtonDown = true;
|
|
424
|
-
} else if (event
|
|
516
|
+
} else if (event!.button === input.MB_RIGHT) {
|
|
425
517
|
this._rClkBegins = window.performance.now();
|
|
426
|
-
this._rclickX = event
|
|
427
|
-
this._rclickY = event
|
|
428
|
-
this.mouseState.sys =
|
|
518
|
+
this._rclickX = event!.clientX;
|
|
519
|
+
this._rclickY = event!.clientY;
|
|
520
|
+
this.mouseState.sys = sys;
|
|
429
521
|
this.mouseState.rightButtonDown = true;
|
|
430
|
-
} else if (event
|
|
522
|
+
} else if (event!.button === input.MB_MIDDLE) {
|
|
431
523
|
this._mClkBegins = window.performance.now();
|
|
432
|
-
this._mclickX = event
|
|
433
|
-
this._mclickY = event
|
|
434
|
-
this.mouseState.sys =
|
|
524
|
+
this._mclickX = event!.clientX;
|
|
525
|
+
this._mclickY = event!.clientY;
|
|
526
|
+
this.mouseState.sys = sys;
|
|
435
527
|
this.mouseState.middleButtonDown = true;
|
|
436
528
|
}
|
|
437
529
|
}
|
|
438
530
|
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
var ms = this.mouseState;
|
|
444
|
-
ms.sys = event;
|
|
445
|
-
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();
|
|
446
535
|
|
|
447
|
-
if (event
|
|
536
|
+
if (event!.button === input.MB_LEFT) {
|
|
448
537
|
ms.leftButtonDown = false;
|
|
449
538
|
ms.leftButtonUp = true;
|
|
450
539
|
|
|
451
540
|
if (
|
|
452
|
-
Math.abs(this._lclickX - event
|
|
453
|
-
Math.abs(this._lclickY - event
|
|
541
|
+
Math.abs(this._lclickX - event!.clientX) < this.clickRadius &&
|
|
542
|
+
Math.abs(this._lclickY - event!.clientY) < this.clickRadius &&
|
|
454
543
|
t - this._lClkBegins <= ms.clickDelay
|
|
455
544
|
) {
|
|
456
545
|
if (this._ldblClkBegins) {
|
|
@@ -466,13 +555,13 @@ class RendererEvents extends Events {
|
|
|
466
555
|
ms.leftButtonClick = true;
|
|
467
556
|
this._lClkBegins = 0;
|
|
468
557
|
}
|
|
469
|
-
} else if (event
|
|
558
|
+
} else if (event!.button === input.MB_RIGHT) {
|
|
470
559
|
ms.rightButtonDown = false;
|
|
471
560
|
ms.rightButtonUp = true;
|
|
472
561
|
|
|
473
562
|
if (
|
|
474
|
-
Math.abs(this._rclickX - event
|
|
475
|
-
Math.abs(this._rclickY - event
|
|
563
|
+
Math.abs(this._rclickX - event!.clientX) < this.clickRadius &&
|
|
564
|
+
Math.abs(this._rclickY - event!.clientY) < this.clickRadius &&
|
|
476
565
|
t - this._rClkBegins <= ms.clickDelay
|
|
477
566
|
) {
|
|
478
567
|
if (this._rdblClkBegins) {
|
|
@@ -488,17 +577,17 @@ class RendererEvents extends Events {
|
|
|
488
577
|
ms.rightButtonClick = true;
|
|
489
578
|
this._rClkBegins = 0;
|
|
490
579
|
}
|
|
491
|
-
} else if (event
|
|
580
|
+
} else if (event!.button === input.MB_MIDDLE) {
|
|
492
581
|
ms.middleButtonDown = false;
|
|
493
582
|
ms.middleButtonUp = true;
|
|
494
583
|
|
|
495
584
|
if (
|
|
496
|
-
Math.abs(this._mclickX - event
|
|
497
|
-
Math.abs(this._mclickY - event
|
|
585
|
+
Math.abs(this._mclickX - event!.clientX) < this.clickRadius &&
|
|
586
|
+
Math.abs(this._mclickY - event!.clientY) < this.clickRadius &&
|
|
498
587
|
t - this._mClkBegins <= ms.clickDelay
|
|
499
588
|
) {
|
|
500
589
|
if (this._mdblClkBegins) {
|
|
501
|
-
|
|
590
|
+
let deltatime = window.performance.now() - this._mdblClkBegins;
|
|
502
591
|
if (deltatime <= ms.doubleClickDelay) {
|
|
503
592
|
ms.middleButtonDoubleClick = true;
|
|
504
593
|
}
|
|
@@ -513,23 +602,20 @@ class RendererEvents extends Events {
|
|
|
513
602
|
}
|
|
514
603
|
}
|
|
515
604
|
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
*/
|
|
519
|
-
onTouchStart(event) {
|
|
520
|
-
var ts = this.touchState;
|
|
605
|
+
protected onTouchStart(event: TouchEventExt) {
|
|
606
|
+
let ts = this.touchState;
|
|
521
607
|
ts.sys = event;
|
|
522
608
|
|
|
523
|
-
ts.clientX = event.touches.item(0)
|
|
524
|
-
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;
|
|
525
611
|
|
|
526
612
|
let h = this.renderer.handler;
|
|
527
613
|
|
|
528
|
-
ts.x = ts.clientX * h.pixelRatio;
|
|
529
|
-
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;
|
|
530
616
|
|
|
531
|
-
ts.nx = ts.x / h.canvas
|
|
532
|
-
ts.ny = ts.y / h.canvas
|
|
617
|
+
ts.nx = ts.x / h.canvas!.width;
|
|
618
|
+
ts.ny = ts.y / h.canvas!.height;
|
|
533
619
|
ts.prev_x = ts.x;
|
|
534
620
|
ts.prev_y = ts.y;
|
|
535
621
|
ts.touchStart = true;
|
|
@@ -544,10 +630,10 @@ class RendererEvents extends Events {
|
|
|
544
630
|
}
|
|
545
631
|
|
|
546
632
|
/**
|
|
547
|
-
* @
|
|
633
|
+
* @protected
|
|
548
634
|
*/
|
|
549
|
-
onTouchEnd(event) {
|
|
550
|
-
|
|
635
|
+
protected onTouchEnd(event: TouchEventExt) {
|
|
636
|
+
let ts = this.touchState;
|
|
551
637
|
ts.sys = event;
|
|
552
638
|
ts.touchEnd = true;
|
|
553
639
|
|
|
@@ -557,7 +643,7 @@ class RendererEvents extends Events {
|
|
|
557
643
|
|
|
558
644
|
if (this._oneTouchStart) {
|
|
559
645
|
if (this._dblTchBegins) {
|
|
560
|
-
|
|
646
|
+
let deltatime = window.performance.now() - this._dblTchBegins;
|
|
561
647
|
if (deltatime <= ts.doubleTouchDelay) {
|
|
562
648
|
ts.doubleTouch = true;
|
|
563
649
|
}
|
|
@@ -569,46 +655,38 @@ class RendererEvents extends Events {
|
|
|
569
655
|
}
|
|
570
656
|
}
|
|
571
657
|
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
*/
|
|
575
|
-
onTouchCancel(event) {
|
|
576
|
-
var ts = this.touchState;
|
|
658
|
+
protected onTouchCancel(event: TouchEventExt) {
|
|
659
|
+
let ts = this.touchState;
|
|
577
660
|
ts.sys = event;
|
|
578
661
|
ts.touchCancel = true;
|
|
579
662
|
}
|
|
580
663
|
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
ts.clientX = event.touches.item(0).clientX - event.offsetLeft;
|
|
587
|
-
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;
|
|
588
669
|
|
|
589
|
-
|
|
670
|
+
let h = this.renderer.handler;
|
|
590
671
|
|
|
591
672
|
ts.x = ts.clientX * h.pixelRatio;
|
|
592
673
|
ts.y = ts.clientY * h.pixelRatio;
|
|
593
674
|
|
|
594
|
-
ts.nx = ts.x / h.canvas
|
|
595
|
-
ts.ny = ts.y / h.canvas
|
|
675
|
+
ts.nx = ts.x / h.canvas!.width;
|
|
676
|
+
ts.ny = ts.y / h.canvas!.height;
|
|
596
677
|
|
|
597
678
|
ts.sys = event;
|
|
598
679
|
ts.moving = true;
|
|
599
680
|
|
|
600
|
-
|
|
601
|
-
|
|
681
|
+
let dX = ts.x - ts.prev_x
|
|
682
|
+
let dY = ts.y - ts.prev_y
|
|
602
683
|
if (Math.abs(dX) > 9 || Math.abs(dY) > 9) {
|
|
603
684
|
this._dblTchBegins = 0;
|
|
604
685
|
this._oneTouchStart = false;
|
|
605
686
|
}
|
|
606
687
|
}
|
|
607
688
|
|
|
608
|
-
|
|
609
|
-
* @private
|
|
610
|
-
*/
|
|
611
|
-
entityPickingEvents() {
|
|
689
|
+
protected entityPickingEvents() {
|
|
612
690
|
let ts = this.touchState,
|
|
613
691
|
ms = this.mouseState;
|
|
614
692
|
|
|
@@ -642,7 +720,7 @@ class RendererEvents extends Events {
|
|
|
642
720
|
ms.pickingObject = null;
|
|
643
721
|
ts.pickingObject = null;
|
|
644
722
|
|
|
645
|
-
let co = r.getPickingObjectArr(c);
|
|
723
|
+
let co = r.getPickingObjectArr<any>(c);
|
|
646
724
|
|
|
647
725
|
ms.pickingObject = co;
|
|
648
726
|
ts.pickingObject = co;
|
|
@@ -652,7 +730,7 @@ class RendererEvents extends Events {
|
|
|
652
730
|
|
|
653
731
|
//current is black
|
|
654
732
|
if (ISBLACK(c)) {
|
|
655
|
-
let po = r.getPickingObjectArr(p);
|
|
733
|
+
let po = r.getPickingObjectArr<any>(p);
|
|
656
734
|
if (po) {
|
|
657
735
|
let pe = po.rendererEvents;
|
|
658
736
|
ms.pickingObject = po;
|
|
@@ -665,7 +743,7 @@ class RendererEvents extends Events {
|
|
|
665
743
|
|
|
666
744
|
//previous is not black
|
|
667
745
|
if (NOTBLACK(p)) {
|
|
668
|
-
let po = r.getPickingObjectArr(p);
|
|
746
|
+
let po = r.getPickingObjectArr<any>(p);
|
|
669
747
|
if (po) {
|
|
670
748
|
let pe = po.rendererEvents;
|
|
671
749
|
ms.pickingObject = po;
|
|
@@ -687,10 +765,8 @@ class RendererEvents extends Events {
|
|
|
687
765
|
}
|
|
688
766
|
}
|
|
689
767
|
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
*/
|
|
693
|
-
handleMouseEvents() {
|
|
768
|
+
protected handleMouseEvents() {
|
|
769
|
+
let _this = this as RendererEventsHandler;
|
|
694
770
|
let ms = this.mouseState;
|
|
695
771
|
let po = ms.pickingObject,
|
|
696
772
|
pe = null;
|
|
@@ -700,7 +776,7 @@ class RendererEvents extends Events {
|
|
|
700
776
|
pe = po.rendererEvents;
|
|
701
777
|
pe && pe.dispatch(pe.lclick, ms);
|
|
702
778
|
}
|
|
703
|
-
this.dispatch(
|
|
779
|
+
this.dispatch(_this.lclick, ms);
|
|
704
780
|
ms.leftButtonClick = false;
|
|
705
781
|
}
|
|
706
782
|
|
|
@@ -709,7 +785,7 @@ class RendererEvents extends Events {
|
|
|
709
785
|
pe = po.rendererEvents;
|
|
710
786
|
pe && pe.dispatch(pe.rclick, ms);
|
|
711
787
|
}
|
|
712
|
-
this.dispatch(
|
|
788
|
+
this.dispatch(_this.rclick, ms);
|
|
713
789
|
ms.rightButtonClick = false;
|
|
714
790
|
}
|
|
715
791
|
|
|
@@ -718,7 +794,7 @@ class RendererEvents extends Events {
|
|
|
718
794
|
pe = po.rendererEvents;
|
|
719
795
|
pe && pe.dispatch(pe.mclick, ms);
|
|
720
796
|
}
|
|
721
|
-
this.dispatch(
|
|
797
|
+
this.dispatch(_this.mclick, ms);
|
|
722
798
|
ms.middleButtonClick = false;
|
|
723
799
|
}
|
|
724
800
|
|
|
@@ -728,14 +804,14 @@ class RendererEvents extends Events {
|
|
|
728
804
|
pe = po.rendererEvents;
|
|
729
805
|
pe && pe.dispatch(pe.lhold, ms);
|
|
730
806
|
}
|
|
731
|
-
this.dispatch(
|
|
807
|
+
this.dispatch(_this.lhold, ms);
|
|
732
808
|
} else {
|
|
733
809
|
ms.leftButtonHold = true;
|
|
734
810
|
if (po) {
|
|
735
811
|
pe = po.rendererEvents;
|
|
736
812
|
pe && pe.dispatch(pe.ldown, ms);
|
|
737
813
|
}
|
|
738
|
-
this.dispatch(
|
|
814
|
+
this.dispatch(_this.ldown, ms);
|
|
739
815
|
}
|
|
740
816
|
}
|
|
741
817
|
|
|
@@ -745,14 +821,14 @@ class RendererEvents extends Events {
|
|
|
745
821
|
pe = po.rendererEvents;
|
|
746
822
|
pe && pe.dispatch(pe.rhold, ms);
|
|
747
823
|
}
|
|
748
|
-
this.dispatch(
|
|
824
|
+
this.dispatch(_this.rhold, ms);
|
|
749
825
|
} else {
|
|
750
826
|
ms.rightButtonHold = true;
|
|
751
827
|
if (po) {
|
|
752
828
|
pe = po.rendererEvents;
|
|
753
829
|
pe && pe.dispatch(pe.rdown, ms);
|
|
754
830
|
}
|
|
755
|
-
this.dispatch(
|
|
831
|
+
this.dispatch(_this.rdown, ms);
|
|
756
832
|
}
|
|
757
833
|
}
|
|
758
834
|
|
|
@@ -762,14 +838,14 @@ class RendererEvents extends Events {
|
|
|
762
838
|
pe = po.rendererEvents;
|
|
763
839
|
pe && pe.dispatch(pe.mhold, ms);
|
|
764
840
|
}
|
|
765
|
-
this.dispatch(
|
|
841
|
+
this.dispatch(_this.mhold, ms);
|
|
766
842
|
} else {
|
|
767
843
|
ms.middleButtonHold = true;
|
|
768
844
|
if (po) {
|
|
769
845
|
pe = po.rendererEvents;
|
|
770
846
|
pe && pe.dispatch(pe.mdown, ms);
|
|
771
847
|
}
|
|
772
|
-
this.dispatch(
|
|
848
|
+
this.dispatch(_this.mdown, ms);
|
|
773
849
|
}
|
|
774
850
|
}
|
|
775
851
|
|
|
@@ -778,7 +854,7 @@ class RendererEvents extends Events {
|
|
|
778
854
|
pe = po.rendererEvents;
|
|
779
855
|
pe && pe.dispatch(pe.lup, ms);
|
|
780
856
|
}
|
|
781
|
-
this.dispatch(
|
|
857
|
+
this.dispatch(_this.lup, ms);
|
|
782
858
|
ms.leftButtonUp = false;
|
|
783
859
|
ms.leftButtonHold = false;
|
|
784
860
|
}
|
|
@@ -788,7 +864,7 @@ class RendererEvents extends Events {
|
|
|
788
864
|
pe = po.rendererEvents;
|
|
789
865
|
pe && pe.dispatch(pe.rup, ms);
|
|
790
866
|
}
|
|
791
|
-
this.dispatch(
|
|
867
|
+
this.dispatch(_this.rup, ms);
|
|
792
868
|
ms.rightButtonUp = false;
|
|
793
869
|
ms.rightButtonHold = false;
|
|
794
870
|
}
|
|
@@ -798,7 +874,7 @@ class RendererEvents extends Events {
|
|
|
798
874
|
pe = po.rendererEvents;
|
|
799
875
|
pe && pe.dispatch(pe.mup, ms);
|
|
800
876
|
}
|
|
801
|
-
this.dispatch(
|
|
877
|
+
this.dispatch(_this.mup, ms);
|
|
802
878
|
ms.middleButtonUp = false;
|
|
803
879
|
ms.middleButtonHold = false;
|
|
804
880
|
}
|
|
@@ -808,7 +884,7 @@ class RendererEvents extends Events {
|
|
|
808
884
|
pe = po.rendererEvents;
|
|
809
885
|
pe && pe.dispatch(pe.ldblclick, ms);
|
|
810
886
|
}
|
|
811
|
-
this.dispatch(
|
|
887
|
+
this.dispatch(_this.ldblclick, ms);
|
|
812
888
|
ms.leftButtonDoubleClick = false;
|
|
813
889
|
}
|
|
814
890
|
|
|
@@ -817,7 +893,7 @@ class RendererEvents extends Events {
|
|
|
817
893
|
pe = po.rendererEvents;
|
|
818
894
|
pe && pe.dispatch(pe.rdblclick, ms);
|
|
819
895
|
}
|
|
820
|
-
this.dispatch(
|
|
896
|
+
this.dispatch(_this.rdblclick, ms);
|
|
821
897
|
ms.rightButtonDoubleClick = false;
|
|
822
898
|
}
|
|
823
899
|
|
|
@@ -826,7 +902,7 @@ class RendererEvents extends Events {
|
|
|
826
902
|
pe = po.rendererEvents;
|
|
827
903
|
pe && pe.dispatch(pe.mdblclick, ms);
|
|
828
904
|
}
|
|
829
|
-
this.dispatch(
|
|
905
|
+
this.dispatch(_this.mdblclick, ms);
|
|
830
906
|
ms.middleButtonDoubleClick = false;
|
|
831
907
|
}
|
|
832
908
|
|
|
@@ -835,7 +911,7 @@ class RendererEvents extends Events {
|
|
|
835
911
|
pe = po.rendererEvents;
|
|
836
912
|
pe && pe.dispatch(pe.mousewheel, ms);
|
|
837
913
|
}
|
|
838
|
-
this.dispatch(
|
|
914
|
+
this.dispatch(_this.mousewheel, ms);
|
|
839
915
|
}
|
|
840
916
|
|
|
841
917
|
if (ms.moving) {
|
|
@@ -843,45 +919,46 @@ class RendererEvents extends Events {
|
|
|
843
919
|
pe = po.rendererEvents;
|
|
844
920
|
pe && pe.dispatch(pe.mousemove, ms);
|
|
845
921
|
}
|
|
846
|
-
this.dispatch(
|
|
922
|
+
this.dispatch(_this.mousemove, ms);
|
|
847
923
|
ms.prev_x = ms.x;
|
|
848
924
|
ms.prev_y = ms.y;
|
|
849
925
|
}
|
|
850
926
|
|
|
851
927
|
if (ms.justStopped) {
|
|
852
|
-
this.dispatch(
|
|
928
|
+
this.dispatch(_this.mousestop, ms);
|
|
853
929
|
}
|
|
854
930
|
}
|
|
855
931
|
|
|
856
932
|
/**
|
|
857
|
-
* @
|
|
933
|
+
* @protected
|
|
858
934
|
*/
|
|
859
|
-
handleTouchEvents() {
|
|
935
|
+
protected handleTouchEvents() {
|
|
936
|
+
let _this = this as RendererEventsHandler;
|
|
937
|
+
|
|
860
938
|
let ts = this.touchState;
|
|
861
939
|
|
|
862
940
|
let tpo = ts.pickingObject,
|
|
863
941
|
tpe = null;
|
|
864
942
|
|
|
865
943
|
if (ts.touchCancel) {
|
|
866
|
-
this.dispatch(
|
|
944
|
+
this.dispatch(_this.touchcancel, ts);
|
|
867
945
|
ts.touchCancel = false;
|
|
868
946
|
}
|
|
869
947
|
|
|
870
948
|
if (ts.touchStart) {
|
|
871
949
|
let r = this.renderer;
|
|
872
950
|
|
|
873
|
-
r.pickingFramebuffer
|
|
874
|
-
r.pickingFramebuffer
|
|
875
|
-
r.pickingFramebuffer
|
|
951
|
+
r.pickingFramebuffer!.activate();
|
|
952
|
+
r.pickingFramebuffer!.readPixels(_currPickingColor, ts.nx, 1.0 - ts.ny, 1);
|
|
953
|
+
r.pickingFramebuffer!.deactivate();
|
|
876
954
|
|
|
877
|
-
let
|
|
878
|
-
let co = r.getPickingObjectArr(c);
|
|
955
|
+
let co = r.getPickingObjectArr<any>(_currPickingColor);
|
|
879
956
|
tpo = ts.pickingObject = co;
|
|
880
957
|
if (tpo) {
|
|
881
958
|
tpe = tpo.rendererEvents;
|
|
882
959
|
tpe && tpe.dispatch(tpe.touchstart, ts);
|
|
883
960
|
}
|
|
884
|
-
this.dispatch(
|
|
961
|
+
this.dispatch(_this.touchstart, ts);
|
|
885
962
|
ts.touchStart = false;
|
|
886
963
|
}
|
|
887
964
|
|
|
@@ -890,7 +967,7 @@ class RendererEvents extends Events {
|
|
|
890
967
|
tpe = tpo.rendererEvents;
|
|
891
968
|
tpe && tpe.dispatch(tpe.doubletouch, ts);
|
|
892
969
|
}
|
|
893
|
-
this.dispatch(
|
|
970
|
+
this.dispatch(_this.doubletouch, ts);
|
|
894
971
|
ts.doubleTouch = false;
|
|
895
972
|
}
|
|
896
973
|
|
|
@@ -899,7 +976,7 @@ class RendererEvents extends Events {
|
|
|
899
976
|
tpe = tpo.rendererEvents;
|
|
900
977
|
tpe && tpe.dispatch(tpe.touchend, ts);
|
|
901
978
|
}
|
|
902
|
-
this.dispatch(
|
|
979
|
+
this.dispatch(_this.touchend, ts);
|
|
903
980
|
ts.x = 0;
|
|
904
981
|
ts.y = 0;
|
|
905
982
|
ts.touchEnd = false;
|
|
@@ -910,14 +987,14 @@ class RendererEvents extends Events {
|
|
|
910
987
|
tpe = tpo.rendererEvents;
|
|
911
988
|
tpe && tpe.dispatch(tpe.touchmove, ts);
|
|
912
989
|
}
|
|
913
|
-
this.dispatch(
|
|
990
|
+
this.dispatch(_this.touchmove, ts);
|
|
914
991
|
ts.prev_x = ts.x;
|
|
915
992
|
ts.prev_y = ts.y;
|
|
916
993
|
}
|
|
917
994
|
}
|
|
918
995
|
}
|
|
919
996
|
|
|
920
|
-
const
|
|
997
|
+
const RENDERER_EVENTS: RendererEventsType = [
|
|
921
998
|
/**
|
|
922
999
|
* Triggered before scene frame is rendered(before render nodes).
|
|
923
1000
|
* @event og.RendererEvents#draw
|
|
@@ -1105,4 +1182,4 @@ const EVENT_NAMES = [
|
|
|
1105
1182
|
"touchenter"
|
|
1106
1183
|
];
|
|
1107
1184
|
|
|
1108
|
-
export {
|
|
1185
|
+
export {RendererEvents};
|