@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,11 +1,25 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
1
|
+
import * as mercator from "../mercator";
|
|
2
|
+
import * as quadTree from "../quadTree/quadTree";
|
|
3
|
+
import {Extent} from "../Extent";
|
|
4
|
+
import {Handler} from "../webgl/Handler";
|
|
5
|
+
import {doubleToTwoFloatsV2} from "../math/coder";
|
|
6
|
+
import {Vector} from "../layer/Vector";
|
|
7
|
+
import {NumberArray2, Vec2} from "../math/Vec2";
|
|
8
|
+
import {Node} from "../quadTree/Node";
|
|
9
|
+
import {Vec3} from "../math/Vec3";
|
|
10
|
+
import {Vec4} from "../math/Vec4";
|
|
11
|
+
import {
|
|
12
|
+
CoordinatesType,
|
|
13
|
+
GeometryType,
|
|
14
|
+
Geometry,
|
|
15
|
+
IMultiLineStringCoordinates,
|
|
16
|
+
ILineStringCoordinates,
|
|
17
|
+
IMultiPolygonCoordinates,
|
|
18
|
+
IPolygonCoordinates
|
|
19
|
+
} from "./Geometry";
|
|
20
|
+
|
|
21
|
+
import {earcut, flatten} from "../utils/earcut";
|
|
22
|
+
import {WebGLBufferExt} from "../webgl/Handler";
|
|
9
23
|
|
|
10
24
|
const POLYVERTICES_BUFFER = 0;
|
|
11
25
|
const POLYINDEXES_BUFFER = 1;
|
|
@@ -20,7 +34,7 @@ const LINESTROKECOLORS_BUFFER = 9;
|
|
|
20
34
|
const POLYPICKINGCOLORS_BUFFER = 10;
|
|
21
35
|
const LINEPICKINGCOLORS_BUFFER = 11;
|
|
22
36
|
|
|
23
|
-
function doubleToTwoFloats(v, high, low) {
|
|
37
|
+
function doubleToTwoFloats(v: NumberArray2, high: Vec2, low: Vec2) {
|
|
24
38
|
let x = v[0],
|
|
25
39
|
y = v[1];
|
|
26
40
|
|
|
@@ -50,8 +64,64 @@ let tempHigh = new Vec2(),
|
|
|
50
64
|
tempHighLow = new Vec2();
|
|
51
65
|
|
|
52
66
|
class GeometryHandler {
|
|
53
|
-
|
|
54
|
-
|
|
67
|
+
|
|
68
|
+
static __counter__: number = 0;
|
|
69
|
+
|
|
70
|
+
protected __id: number;
|
|
71
|
+
|
|
72
|
+
protected _layer: Vector;
|
|
73
|
+
|
|
74
|
+
protected _handler: Handler | null;
|
|
75
|
+
|
|
76
|
+
protected _geometries: Geometry[];
|
|
77
|
+
|
|
78
|
+
protected _updatedGeometryArr: Geometry[];
|
|
79
|
+
protected _updatedGeometry: Record<number, boolean>;
|
|
80
|
+
|
|
81
|
+
protected _removeGeometryExtentArr: Extent[];
|
|
82
|
+
protected _removeGeometryExtents: Record<number, boolean>;
|
|
83
|
+
|
|
84
|
+
// Polygon arrays
|
|
85
|
+
protected _polyVerticesHighMerc: number[];
|
|
86
|
+
protected _polyVerticesLowMerc: number[];
|
|
87
|
+
protected _polyColors: number[];
|
|
88
|
+
protected _polyPickingColors: number[];
|
|
89
|
+
protected _polyIndexes: number[];
|
|
90
|
+
|
|
91
|
+
// Line arrays
|
|
92
|
+
protected _lineVerticesHighMerc: number[];
|
|
93
|
+
protected _lineVerticesLowMerc: number[];
|
|
94
|
+
protected _lineOrders: number[];
|
|
95
|
+
protected _lineIndexes: number[];
|
|
96
|
+
protected _lineColors: number[];
|
|
97
|
+
protected _linePickingColors: number[];
|
|
98
|
+
protected _lineThickness: number[];
|
|
99
|
+
protected _lineStrokes: number[];
|
|
100
|
+
protected _lineStrokeColors: number[];
|
|
101
|
+
|
|
102
|
+
// Buffers
|
|
103
|
+
public _polyVerticesHighBufferMerc: WebGLBufferExt | null;
|
|
104
|
+
public _polyVerticesLowBufferMerc: WebGLBufferExt | null;
|
|
105
|
+
public _polyColorsBuffer: WebGLBufferExt | null;
|
|
106
|
+
public _polyPickingColorsBuffer: WebGLBufferExt | null;
|
|
107
|
+
public _polyIndexesBuffer: WebGLBufferExt | null;
|
|
108
|
+
|
|
109
|
+
public _lineVerticesHighBufferMerc: WebGLBufferExt | null;
|
|
110
|
+
public _lineVerticesLowBufferMerc: WebGLBufferExt | null;
|
|
111
|
+
public _lineColorsBuffer: WebGLBufferExt | null;
|
|
112
|
+
public _linePickingColorsBuffer: WebGLBufferExt | null;
|
|
113
|
+
public _lineThicknessBuffer: WebGLBufferExt | null;
|
|
114
|
+
public _lineStrokesBuffer: WebGLBufferExt | null;
|
|
115
|
+
public _lineStrokeColorsBuffer: WebGLBufferExt | null;
|
|
116
|
+
public _lineOrdersBuffer: WebGLBufferExt | null;
|
|
117
|
+
public _lineIndexesBuffer: WebGLBufferExt | null;
|
|
118
|
+
|
|
119
|
+
protected _buffersUpdateCallbacks: Function[];
|
|
120
|
+
|
|
121
|
+
protected _changedBuffers: boolean[];
|
|
122
|
+
|
|
123
|
+
constructor(layer: Vector) {
|
|
124
|
+
this.__id = GeometryHandler.__counter__++;
|
|
55
125
|
|
|
56
126
|
this._layer = layer;
|
|
57
127
|
|
|
@@ -117,36 +187,25 @@ class GeometryHandler {
|
|
|
117
187
|
this._changedBuffers = new Array(this._buffersUpdateCallbacks.length);
|
|
118
188
|
}
|
|
119
189
|
|
|
120
|
-
static get _staticCounter() {
|
|
121
|
-
if (!this._counter && this._counter !== 0) {
|
|
122
|
-
this._counter = 0;
|
|
123
|
-
}
|
|
124
|
-
return this._counter;
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
static set _staticCounter(n) {
|
|
128
|
-
this._counter = n;
|
|
129
|
-
}
|
|
130
|
-
|
|
131
190
|
static appendLineData(
|
|
132
|
-
pathArr,
|
|
133
|
-
isClosed,
|
|
134
|
-
color,
|
|
135
|
-
pickingColor,
|
|
136
|
-
thickness,
|
|
137
|
-
strokeColor,
|
|
138
|
-
strokeSize,
|
|
139
|
-
outVerticesHigh,
|
|
140
|
-
outVerticesLow,
|
|
141
|
-
outOrders,
|
|
142
|
-
outIndexes,
|
|
143
|
-
outColors,
|
|
144
|
-
outPickingColors,
|
|
145
|
-
outThickness,
|
|
146
|
-
outStrokeColors,
|
|
147
|
-
outStrokes,
|
|
148
|
-
outVerticesHigh2,
|
|
149
|
-
outVerticesLow2
|
|
191
|
+
pathArr: CoordinatesType[][],
|
|
192
|
+
isClosed: boolean,
|
|
193
|
+
color: Vec4,
|
|
194
|
+
pickingColor: Vec3,
|
|
195
|
+
thickness: number,
|
|
196
|
+
strokeColor: Vec4,
|
|
197
|
+
strokeSize: number,
|
|
198
|
+
outVerticesHigh: number[],
|
|
199
|
+
outVerticesLow: number[],
|
|
200
|
+
outOrders: number[],
|
|
201
|
+
outIndexes: number[],
|
|
202
|
+
outColors: number[],
|
|
203
|
+
outPickingColors: number[],
|
|
204
|
+
outThickness: number[],
|
|
205
|
+
outStrokeColors: number[],
|
|
206
|
+
outStrokes: number[],
|
|
207
|
+
outVerticesHigh2: number[],
|
|
208
|
+
outVerticesLow2: number[]
|
|
150
209
|
) {
|
|
151
210
|
var index = 0;
|
|
152
211
|
|
|
@@ -170,8 +229,8 @@ class GeometryHandler {
|
|
|
170
229
|
continue;
|
|
171
230
|
}
|
|
172
231
|
|
|
173
|
-
|
|
174
|
-
|
|
232
|
+
let startIndex = index;
|
|
233
|
+
let last: CoordinatesType;
|
|
175
234
|
if (isClosed) {
|
|
176
235
|
last = path[path.length - 1];
|
|
177
236
|
} else {
|
|
@@ -185,48 +244,32 @@ class GeometryHandler {
|
|
|
185
244
|
last = [p0[0] + p0[0] - p1[0], p0[1] + p0[1] - p1[1]];
|
|
186
245
|
}
|
|
187
246
|
|
|
188
|
-
doubleToTwoFloats(last, tempHigh, tempLow);
|
|
247
|
+
doubleToTwoFloats(last as NumberArray2, tempHigh, tempLow);
|
|
189
248
|
|
|
190
249
|
outVerticesHigh.push(
|
|
191
|
-
tempHigh.x,
|
|
192
|
-
tempHigh.y,
|
|
193
|
-
tempHigh.x,
|
|
194
|
-
tempHigh.y
|
|
195
|
-
tempHigh.x,
|
|
196
|
-
tempHigh.y,
|
|
197
|
-
tempHigh.x,
|
|
198
|
-
tempHigh.y
|
|
250
|
+
tempHigh.x, tempHigh.y,
|
|
251
|
+
tempHigh.x, tempHigh.y,
|
|
252
|
+
tempHigh.x, tempHigh.y,
|
|
253
|
+
tempHigh.x, tempHigh.y
|
|
199
254
|
);
|
|
200
255
|
outVerticesLow.push(
|
|
201
|
-
tempLow.x,
|
|
202
|
-
tempLow.y,
|
|
203
|
-
tempLow.x,
|
|
204
|
-
tempLow.y
|
|
205
|
-
tempLow.x,
|
|
206
|
-
tempLow.y,
|
|
207
|
-
tempLow.x,
|
|
208
|
-
tempLow.y
|
|
256
|
+
tempLow.x, tempLow.y,
|
|
257
|
+
tempLow.x, tempLow.y,
|
|
258
|
+
tempLow.x, tempLow.y,
|
|
259
|
+
tempLow.x, tempLow.y
|
|
209
260
|
);
|
|
210
261
|
|
|
211
262
|
outVerticesHigh2.push(
|
|
212
|
-
tempHigh.x,
|
|
213
|
-
tempHigh.y,
|
|
214
|
-
tempHigh.x,
|
|
215
|
-
tempHigh.y
|
|
216
|
-
tempHigh.x,
|
|
217
|
-
tempHigh.y,
|
|
218
|
-
tempHigh.x,
|
|
219
|
-
tempHigh.y
|
|
263
|
+
tempHigh.x, tempHigh.y,
|
|
264
|
+
tempHigh.x, tempHigh.y,
|
|
265
|
+
tempHigh.x, tempHigh.y,
|
|
266
|
+
tempHigh.x, tempHigh.y
|
|
220
267
|
);
|
|
221
268
|
outVerticesLow2.push(
|
|
222
|
-
tempLow.x,
|
|
223
|
-
tempLow.y,
|
|
224
|
-
tempLow.x,
|
|
225
|
-
tempLow.y
|
|
226
|
-
tempLow.x,
|
|
227
|
-
tempLow.y,
|
|
228
|
-
tempLow.x,
|
|
229
|
-
tempLow.y
|
|
269
|
+
tempLow.x, tempLow.y,
|
|
270
|
+
tempLow.x, tempLow.y,
|
|
271
|
+
tempLow.x, tempLow.y,
|
|
272
|
+
tempLow.x, tempLow.y
|
|
230
273
|
);
|
|
231
274
|
|
|
232
275
|
outOrders.push(1, -1, 2, -2);
|
|
@@ -234,168 +277,80 @@ class GeometryHandler {
|
|
|
234
277
|
outThickness.push(t, t, t, t);
|
|
235
278
|
outStrokes.push(s, s, s, s);
|
|
236
279
|
outColors.push(
|
|
237
|
-
c[0],
|
|
238
|
-
c[1],
|
|
239
|
-
c[2],
|
|
240
|
-
c[3]
|
|
241
|
-
c[0],
|
|
242
|
-
c[1],
|
|
243
|
-
c[2],
|
|
244
|
-
c[3],
|
|
245
|
-
c[0],
|
|
246
|
-
c[1],
|
|
247
|
-
c[2],
|
|
248
|
-
c[3],
|
|
249
|
-
c[0],
|
|
250
|
-
c[1],
|
|
251
|
-
c[2],
|
|
252
|
-
c[3]
|
|
280
|
+
c[0], c[1], c[2], c[3],
|
|
281
|
+
c[0], c[1], c[2], c[3],
|
|
282
|
+
c[0], c[1], c[2], c[3],
|
|
283
|
+
c[0], c[1], c[2], c[3]
|
|
253
284
|
);
|
|
254
285
|
outStrokeColors.push(
|
|
255
|
-
sc[0],
|
|
256
|
-
sc[1],
|
|
257
|
-
sc[2],
|
|
258
|
-
sc[3]
|
|
259
|
-
sc[0],
|
|
260
|
-
sc[1],
|
|
261
|
-
sc[2],
|
|
262
|
-
sc[3],
|
|
263
|
-
sc[0],
|
|
264
|
-
sc[1],
|
|
265
|
-
sc[2],
|
|
266
|
-
sc[3],
|
|
267
|
-
sc[0],
|
|
268
|
-
sc[1],
|
|
269
|
-
sc[2],
|
|
270
|
-
sc[3]
|
|
286
|
+
sc[0], sc[1], sc[2], sc[3],
|
|
287
|
+
sc[0], sc[1], sc[2], sc[3],
|
|
288
|
+
sc[0], sc[1], sc[2], sc[3],
|
|
289
|
+
sc[0], sc[1], sc[2], sc[3]
|
|
271
290
|
);
|
|
272
291
|
outPickingColors.push(
|
|
273
|
-
p[0],
|
|
274
|
-
p[1],
|
|
275
|
-
p[2],
|
|
276
|
-
p[3]
|
|
277
|
-
p[0],
|
|
278
|
-
p[1],
|
|
279
|
-
p[2],
|
|
280
|
-
p[3],
|
|
281
|
-
p[0],
|
|
282
|
-
p[1],
|
|
283
|
-
p[2],
|
|
284
|
-
p[3],
|
|
285
|
-
p[0],
|
|
286
|
-
p[1],
|
|
287
|
-
p[2],
|
|
288
|
-
p[3]
|
|
292
|
+
p[0], p[1], p[2], p[3],
|
|
293
|
+
p[0], p[1], p[2], p[3],
|
|
294
|
+
p[0], p[1], p[2], p[3],
|
|
295
|
+
p[0], p[1], p[2], p[3]
|
|
289
296
|
);
|
|
290
297
|
|
|
291
298
|
for (let i = 0; i < path.length; i++) {
|
|
292
|
-
|
|
299
|
+
let cur = path[i];
|
|
293
300
|
|
|
294
|
-
doubleToTwoFloats(cur, tempHigh, tempLow);
|
|
301
|
+
doubleToTwoFloats(cur as NumberArray2, tempHigh, tempLow);
|
|
295
302
|
|
|
296
303
|
outVerticesHigh.push(
|
|
297
|
-
tempHigh.x,
|
|
298
|
-
tempHigh.y,
|
|
299
|
-
tempHigh.x,
|
|
300
|
-
tempHigh.y
|
|
301
|
-
tempHigh.x,
|
|
302
|
-
tempHigh.y,
|
|
303
|
-
tempHigh.x,
|
|
304
|
-
tempHigh.y
|
|
304
|
+
tempHigh.x, tempHigh.y,
|
|
305
|
+
tempHigh.x, tempHigh.y,
|
|
306
|
+
tempHigh.x, tempHigh.y,
|
|
307
|
+
tempHigh.x, tempHigh.y
|
|
305
308
|
);
|
|
306
309
|
outVerticesLow.push(
|
|
307
|
-
tempLow.x,
|
|
308
|
-
tempLow.y,
|
|
309
|
-
tempLow.x,
|
|
310
|
-
tempLow.y
|
|
311
|
-
tempLow.x,
|
|
312
|
-
tempLow.y,
|
|
313
|
-
tempLow.x,
|
|
314
|
-
tempLow.y
|
|
310
|
+
tempLow.x, tempLow.y,
|
|
311
|
+
tempLow.x, tempLow.y,
|
|
312
|
+
tempLow.x, tempLow.y,
|
|
313
|
+
tempLow.x, tempLow.y
|
|
315
314
|
);
|
|
316
315
|
|
|
317
316
|
outVerticesHigh2.push(
|
|
318
|
-
tempHigh.x,
|
|
319
|
-
tempHigh.y,
|
|
320
|
-
tempHigh.x,
|
|
321
|
-
tempHigh.y
|
|
322
|
-
tempHigh.x,
|
|
323
|
-
tempHigh.y,
|
|
324
|
-
tempHigh.x,
|
|
325
|
-
tempHigh.y
|
|
317
|
+
tempHigh.x, tempHigh.y,
|
|
318
|
+
tempHigh.x, tempHigh.y,
|
|
319
|
+
tempHigh.x, tempHigh.y,
|
|
320
|
+
tempHigh.x, tempHigh.y
|
|
326
321
|
);
|
|
327
322
|
outVerticesLow2.push(
|
|
328
|
-
tempLow.x,
|
|
329
|
-
tempLow.y,
|
|
330
|
-
tempLow.x,
|
|
331
|
-
tempLow.y
|
|
332
|
-
tempLow.x,
|
|
333
|
-
tempLow.y,
|
|
334
|
-
tempLow.x,
|
|
335
|
-
tempLow.y
|
|
323
|
+
tempLow.x, tempLow.y,
|
|
324
|
+
tempLow.x, tempLow.y,
|
|
325
|
+
tempLow.x, tempLow.y,
|
|
326
|
+
tempLow.x, tempLow.y
|
|
336
327
|
);
|
|
337
328
|
|
|
338
329
|
outOrders.push(1, -1, 2, -2);
|
|
339
330
|
outThickness.push(t, t, t, t);
|
|
340
331
|
outStrokes.push(s, s, s, s);
|
|
341
332
|
outColors.push(
|
|
342
|
-
c[0],
|
|
343
|
-
c[1],
|
|
344
|
-
c[2],
|
|
345
|
-
c[3]
|
|
346
|
-
c[0],
|
|
347
|
-
c[1],
|
|
348
|
-
c[2],
|
|
349
|
-
c[3],
|
|
350
|
-
c[0],
|
|
351
|
-
c[1],
|
|
352
|
-
c[2],
|
|
353
|
-
c[3],
|
|
354
|
-
c[0],
|
|
355
|
-
c[1],
|
|
356
|
-
c[2],
|
|
357
|
-
c[3]
|
|
333
|
+
c[0], c[1], c[2], c[3],
|
|
334
|
+
c[0], c[1], c[2], c[3],
|
|
335
|
+
c[0], c[1], c[2], c[3],
|
|
336
|
+
c[0], c[1], c[2], c[3]
|
|
358
337
|
);
|
|
359
338
|
outStrokeColors.push(
|
|
360
|
-
sc[0],
|
|
361
|
-
sc[1],
|
|
362
|
-
sc[2],
|
|
363
|
-
sc[3]
|
|
364
|
-
sc[0],
|
|
365
|
-
sc[1],
|
|
366
|
-
sc[2],
|
|
367
|
-
sc[3],
|
|
368
|
-
sc[0],
|
|
369
|
-
sc[1],
|
|
370
|
-
sc[2],
|
|
371
|
-
sc[3],
|
|
372
|
-
sc[0],
|
|
373
|
-
sc[1],
|
|
374
|
-
sc[2],
|
|
375
|
-
sc[3]
|
|
339
|
+
sc[0], sc[1], sc[2], sc[3],
|
|
340
|
+
sc[0], sc[1], sc[2], sc[3],
|
|
341
|
+
sc[0], sc[1], sc[2], sc[3],
|
|
342
|
+
sc[0], sc[1], sc[2], sc[3]
|
|
376
343
|
);
|
|
377
344
|
outPickingColors.push(
|
|
378
|
-
p[0],
|
|
379
|
-
p[1],
|
|
380
|
-
p[2],
|
|
381
|
-
p[3]
|
|
382
|
-
p[0],
|
|
383
|
-
p[1],
|
|
384
|
-
p[2],
|
|
385
|
-
p[3],
|
|
386
|
-
p[0],
|
|
387
|
-
p[1],
|
|
388
|
-
p[2],
|
|
389
|
-
p[3],
|
|
390
|
-
p[0],
|
|
391
|
-
p[1],
|
|
392
|
-
p[2],
|
|
393
|
-
p[3]
|
|
345
|
+
p[0], p[1], p[2], p[3],
|
|
346
|
+
p[0], p[1], p[2], p[3],
|
|
347
|
+
p[0], p[1], p[2], p[3],
|
|
348
|
+
p[0], p[1], p[2], p[3]
|
|
394
349
|
);
|
|
395
350
|
outIndexes.push(index++, index++, index++, index++);
|
|
396
351
|
}
|
|
397
352
|
|
|
398
|
-
|
|
353
|
+
let first: CoordinatesType;
|
|
399
354
|
if (isClosed) {
|
|
400
355
|
first = path[0];
|
|
401
356
|
outIndexes.push(startIndex, startIndex + 1, startIndex + 1, startIndex + 1);
|
|
@@ -411,106 +366,54 @@ class GeometryHandler {
|
|
|
411
366
|
outIndexes.push(index - 1, index - 1, index - 1, index - 1);
|
|
412
367
|
}
|
|
413
368
|
|
|
414
|
-
doubleToTwoFloats(first, tempHigh, tempLow);
|
|
369
|
+
doubleToTwoFloats(first as NumberArray2, tempHigh, tempLow);
|
|
415
370
|
|
|
416
371
|
outVerticesHigh.push(
|
|
417
|
-
tempHigh.x,
|
|
418
|
-
tempHigh.y,
|
|
419
|
-
tempHigh.x,
|
|
420
|
-
tempHigh.y
|
|
421
|
-
tempHigh.x,
|
|
422
|
-
tempHigh.y,
|
|
423
|
-
tempHigh.x,
|
|
424
|
-
tempHigh.y
|
|
372
|
+
tempHigh.x, tempHigh.y,
|
|
373
|
+
tempHigh.x, tempHigh.y,
|
|
374
|
+
tempHigh.x, tempHigh.y,
|
|
375
|
+
tempHigh.x, tempHigh.y
|
|
425
376
|
);
|
|
426
377
|
outVerticesLow.push(
|
|
427
|
-
tempLow.x,
|
|
428
|
-
tempLow.y,
|
|
429
|
-
tempLow.x,
|
|
430
|
-
tempLow.y
|
|
431
|
-
tempLow.x,
|
|
432
|
-
tempLow.y,
|
|
433
|
-
tempLow.x,
|
|
434
|
-
tempLow.y
|
|
378
|
+
tempLow.x, tempLow.y,
|
|
379
|
+
tempLow.x, tempLow.y,
|
|
380
|
+
tempLow.x, tempLow.y,
|
|
381
|
+
tempLow.x, tempLow.y
|
|
435
382
|
);
|
|
436
383
|
|
|
437
384
|
outVerticesHigh2.push(
|
|
438
|
-
tempHigh.x,
|
|
439
|
-
tempHigh.y,
|
|
440
|
-
tempHigh.x,
|
|
441
|
-
tempHigh.y
|
|
442
|
-
tempHigh.x,
|
|
443
|
-
tempHigh.y,
|
|
444
|
-
tempHigh.x,
|
|
445
|
-
tempHigh.y
|
|
385
|
+
tempHigh.x, tempHigh.y,
|
|
386
|
+
tempHigh.x, tempHigh.y,
|
|
387
|
+
tempHigh.x, tempHigh.y,
|
|
388
|
+
tempHigh.x, tempHigh.y
|
|
446
389
|
);
|
|
447
390
|
outVerticesLow2.push(
|
|
448
|
-
tempLow.x,
|
|
449
|
-
tempLow.y,
|
|
450
|
-
tempLow.x,
|
|
451
|
-
tempLow.y
|
|
452
|
-
tempLow.x,
|
|
453
|
-
tempLow.y,
|
|
454
|
-
tempLow.x,
|
|
455
|
-
tempLow.y
|
|
391
|
+
tempLow.x, tempLow.y,
|
|
392
|
+
tempLow.x, tempLow.y,
|
|
393
|
+
tempLow.x, tempLow.y,
|
|
394
|
+
tempLow.x, tempLow.y
|
|
456
395
|
);
|
|
457
396
|
|
|
458
397
|
outOrders.push(1, -1, 2, -2);
|
|
459
398
|
outThickness.push(t, t, t, t);
|
|
460
399
|
outStrokes.push(s, s, s, s);
|
|
461
400
|
outColors.push(
|
|
462
|
-
c[0],
|
|
463
|
-
c[1],
|
|
464
|
-
c[2],
|
|
465
|
-
c[3]
|
|
466
|
-
c[0],
|
|
467
|
-
c[1],
|
|
468
|
-
c[2],
|
|
469
|
-
c[3],
|
|
470
|
-
c[0],
|
|
471
|
-
c[1],
|
|
472
|
-
c[2],
|
|
473
|
-
c[3],
|
|
474
|
-
c[0],
|
|
475
|
-
c[1],
|
|
476
|
-
c[2],
|
|
477
|
-
c[3]
|
|
401
|
+
c[0], c[1], c[2], c[3],
|
|
402
|
+
c[0], c[1], c[2], c[3],
|
|
403
|
+
c[0], c[1], c[2], c[3],
|
|
404
|
+
c[0], c[1], c[2], c[3]
|
|
478
405
|
);
|
|
479
406
|
outStrokeColors.push(
|
|
480
|
-
sc[0],
|
|
481
|
-
sc[1],
|
|
482
|
-
sc[2],
|
|
483
|
-
sc[3]
|
|
484
|
-
sc[0],
|
|
485
|
-
sc[1],
|
|
486
|
-
sc[2],
|
|
487
|
-
sc[3],
|
|
488
|
-
sc[0],
|
|
489
|
-
sc[1],
|
|
490
|
-
sc[2],
|
|
491
|
-
sc[3],
|
|
492
|
-
sc[0],
|
|
493
|
-
sc[1],
|
|
494
|
-
sc[2],
|
|
495
|
-
sc[3]
|
|
407
|
+
sc[0], sc[1], sc[2], sc[3],
|
|
408
|
+
sc[0], sc[1], sc[2], sc[3],
|
|
409
|
+
sc[0], sc[1], sc[2], sc[3],
|
|
410
|
+
sc[0], sc[1], sc[2], sc[3]
|
|
496
411
|
);
|
|
497
412
|
outPickingColors.push(
|
|
498
|
-
p[0],
|
|
499
|
-
p[1],
|
|
500
|
-
p[2],
|
|
501
|
-
p[3]
|
|
502
|
-
p[0],
|
|
503
|
-
p[1],
|
|
504
|
-
p[2],
|
|
505
|
-
p[3],
|
|
506
|
-
p[0],
|
|
507
|
-
p[1],
|
|
508
|
-
p[2],
|
|
509
|
-
p[3],
|
|
510
|
-
p[0],
|
|
511
|
-
p[1],
|
|
512
|
-
p[2],
|
|
513
|
-
p[3]
|
|
413
|
+
p[0], p[1], p[2], p[3],
|
|
414
|
+
p[0], p[1], p[2], p[3],
|
|
415
|
+
p[0], p[1], p[2], p[3],
|
|
416
|
+
p[0], p[1], p[2], p[3]
|
|
514
417
|
);
|
|
515
418
|
|
|
516
419
|
if (j < pathArr.length - 1) {
|
|
@@ -520,7 +423,7 @@ class GeometryHandler {
|
|
|
520
423
|
}
|
|
521
424
|
}
|
|
522
425
|
|
|
523
|
-
assignHandler(handler) {
|
|
426
|
+
public assignHandler(handler: Handler) {
|
|
524
427
|
this._handler = handler;
|
|
525
428
|
this.refresh();
|
|
526
429
|
if (handler.isInitialized()) {
|
|
@@ -532,7 +435,7 @@ class GeometryHandler {
|
|
|
532
435
|
* @public
|
|
533
436
|
* @param {Geometry} geometry - Geometry object.
|
|
534
437
|
*/
|
|
535
|
-
add(geometry) {
|
|
438
|
+
public add(geometry: Geometry) {
|
|
536
439
|
//
|
|
537
440
|
// Triangulates polygon and sets geometry data.
|
|
538
441
|
if (geometry._handlerIndex === -1) {
|
|
@@ -541,29 +444,26 @@ class GeometryHandler {
|
|
|
541
444
|
|
|
542
445
|
this._geometries.push(geometry);
|
|
543
446
|
|
|
544
|
-
let pickingColor = geometry._entity
|
|
447
|
+
let pickingColor = geometry._entity!._pickingColor.scaleTo(1 / 255);
|
|
545
448
|
|
|
546
449
|
geometry._polyVerticesHighMerc = [];
|
|
547
450
|
geometry._polyVerticesLowMerc = [];
|
|
548
451
|
geometry._lineVerticesHighMerc = [];
|
|
549
452
|
geometry._lineVerticesLowMerc = [];
|
|
550
453
|
|
|
551
|
-
if (geometry._coordinates[0].length) {
|
|
552
|
-
if (geometry.
|
|
553
|
-
let coordinates = geometry._coordinates;
|
|
554
|
-
let ci = [];
|
|
454
|
+
if ((geometry._coordinates as IPolygonCoordinates)[0].length) {
|
|
455
|
+
if (geometry.type === GeometryType.POLYGON) {
|
|
456
|
+
let coordinates = geometry._coordinates as IPolygonCoordinates;
|
|
457
|
+
let ci: IPolygonCoordinates = [];
|
|
555
458
|
for (let j = 0; j < coordinates.length; j++) {
|
|
556
459
|
ci[j] = [];
|
|
557
460
|
for (let k = 0; k < coordinates[j].length; k++) {
|
|
558
|
-
ci[j][k] = [
|
|
559
|
-
mercator.forward_lon(coordinates[j][k][0]),
|
|
560
|
-
mercator.forward_lat(coordinates[j][k][1])
|
|
561
|
-
];
|
|
461
|
+
ci[j][k] = [mercator.forward_lon(coordinates[j][k][0]), mercator.forward_lat(coordinates[j][k][1])];
|
|
562
462
|
}
|
|
563
463
|
}
|
|
564
464
|
|
|
565
465
|
let data = flatten(ci);
|
|
566
|
-
let indexes = earcut(data.vertices, data.holes, 2);
|
|
466
|
+
let indexes: number[] = earcut(data.vertices, data.holes, 2);
|
|
567
467
|
|
|
568
468
|
geometry._polyVerticesHandlerIndex = this._polyVerticesHighMerc.length;
|
|
569
469
|
geometry._polyIndexesHandlerIndex = this._polyIndexes.length;
|
|
@@ -572,19 +472,14 @@ class GeometryHandler {
|
|
|
572
472
|
this._polyIndexes.push(indexes[i] + geometry._polyVerticesHandlerIndex * 0.5);
|
|
573
473
|
}
|
|
574
474
|
|
|
575
|
-
|
|
475
|
+
let color = geometry._style.fillColor;
|
|
576
476
|
|
|
577
477
|
let verticesHigh = [],
|
|
578
478
|
verticesLow = [];
|
|
579
479
|
|
|
580
480
|
for (let i = 0; i < data.vertices.length * 0.5; i++) {
|
|
581
481
|
this._polyColors.push(color.x, color.y, color.z, color.w);
|
|
582
|
-
this._polyPickingColors.push(
|
|
583
|
-
pickingColor.x,
|
|
584
|
-
pickingColor.y,
|
|
585
|
-
pickingColor.z,
|
|
586
|
-
1.0
|
|
587
|
-
);
|
|
482
|
+
this._polyPickingColors.push(pickingColor.x, pickingColor.y, pickingColor.z, 1.0);
|
|
588
483
|
}
|
|
589
484
|
|
|
590
485
|
for (let i = 0; i < data.vertices.length; i++) {
|
|
@@ -630,21 +525,17 @@ class GeometryHandler {
|
|
|
630
525
|
geometry._lineVerticesLowMerc
|
|
631
526
|
);
|
|
632
527
|
|
|
633
|
-
geometry._lineVerticesLength =
|
|
634
|
-
|
|
635
|
-
geometry.
|
|
636
|
-
|
|
637
|
-
geometry.
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
geometry.
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
} else if (geometry._type === GeometryType.MULTIPOLYGON) {
|
|
645
|
-
let coordinates = geometry._coordinates;
|
|
646
|
-
let vertices = [],
|
|
647
|
-
indexes = [];
|
|
528
|
+
geometry._lineVerticesLength = this._lineVerticesHighMerc.length - geometry._lineVerticesHandlerIndex;
|
|
529
|
+
geometry._lineOrdersLength = this._lineOrders.length - geometry._lineOrdersHandlerIndex;
|
|
530
|
+
geometry._lineIndexesLength = this._lineIndexes.length - geometry._lineIndexesHandlerIndex;
|
|
531
|
+
geometry._lineColorsLength = this._lineColors.length - geometry._lineColorsHandlerIndex;
|
|
532
|
+
geometry._lineThicknessLength = this._lineThickness.length - geometry._lineThicknessHandlerIndex;
|
|
533
|
+
|
|
534
|
+
} else if (geometry.type === GeometryType.MULTIPOLYGON) {
|
|
535
|
+
|
|
536
|
+
let coordinates = geometry._coordinates as IMultiPolygonCoordinates;
|
|
537
|
+
let vertices: number[] = [],
|
|
538
|
+
indexes: number[] = [];
|
|
648
539
|
|
|
649
540
|
// Creates polygon stroke data
|
|
650
541
|
geometry._lineVerticesHandlerIndex = this._lineVerticesHighMerc.length;
|
|
@@ -654,19 +545,16 @@ class GeometryHandler {
|
|
|
654
545
|
geometry._lineThicknessHandlerIndex = this._lineThickness.length;
|
|
655
546
|
|
|
656
547
|
for (let i = 0; i < coordinates.length; i++) {
|
|
657
|
-
let cci = coordinates[i];
|
|
658
|
-
let ci = [];
|
|
548
|
+
let cci: CoordinatesType[][] = coordinates[i];
|
|
549
|
+
let ci: CoordinatesType[][] = [];
|
|
659
550
|
for (let j = 0; j < cci.length; j++) {
|
|
660
551
|
ci[j] = [];
|
|
661
552
|
for (let k = 0; k < coordinates[i][j].length; k++) {
|
|
662
|
-
ci[j][k] = [
|
|
663
|
-
mercator.forward_lon(cci[j][k][0]),
|
|
664
|
-
mercator.forward_lat(cci[j][k][1])
|
|
665
|
-
];
|
|
553
|
+
ci[j][k] = [mercator.forward_lon(cci[j][k][0]), mercator.forward_lat(cci[j][k][1])];
|
|
666
554
|
}
|
|
667
555
|
}
|
|
668
556
|
let data = flatten(ci);
|
|
669
|
-
let dataIndexes = earcut(data.vertices, data.holes, 2);
|
|
557
|
+
let dataIndexes: number[] = earcut(data.vertices, data.holes, 2);
|
|
670
558
|
|
|
671
559
|
for (let j = 0; j < dataIndexes.length; j++) {
|
|
672
560
|
indexes.push(dataIndexes[j] + vertices.length * 0.5);
|
|
@@ -733,24 +621,18 @@ class GeometryHandler {
|
|
|
733
621
|
geometry._polyVerticesLength = vertices.length;
|
|
734
622
|
geometry._polyIndexesLength = indexes.length;
|
|
735
623
|
|
|
736
|
-
geometry._lineVerticesLength =
|
|
737
|
-
|
|
738
|
-
geometry.
|
|
739
|
-
|
|
740
|
-
geometry.
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
geometry.
|
|
745
|
-
this._lineThickness.length - geometry._lineThicknessHandlerIndex;
|
|
746
|
-
} else if (geometry._type === GeometryType.LINESTRING) {
|
|
747
|
-
let coordinates = geometry._coordinates;
|
|
624
|
+
geometry._lineVerticesLength = this._lineVerticesHighMerc.length - geometry._lineVerticesHandlerIndex;
|
|
625
|
+
geometry._lineOrdersLength = this._lineOrders.length - geometry._lineOrdersHandlerIndex;
|
|
626
|
+
geometry._lineIndexesLength = this._lineIndexes.length - geometry._lineIndexesHandlerIndex;
|
|
627
|
+
geometry._lineColorsLength = this._lineColors.length - geometry._lineColorsHandlerIndex;
|
|
628
|
+
geometry._lineThicknessLength = this._lineThickness.length - geometry._lineThicknessHandlerIndex;
|
|
629
|
+
|
|
630
|
+
} else if (geometry.type === GeometryType.LINESTRING) {
|
|
631
|
+
|
|
632
|
+
let coordinates: ILineStringCoordinates = geometry._coordinates as ILineStringCoordinates;
|
|
748
633
|
let ci = new Array(coordinates.length);
|
|
749
634
|
for (let j = 0; j < coordinates.length; j++) {
|
|
750
|
-
ci[j] = [
|
|
751
|
-
mercator.forward_lon(coordinates[j][0]),
|
|
752
|
-
mercator.forward_lat(coordinates[j][1])
|
|
753
|
-
];
|
|
635
|
+
ci[j] = [mercator.forward_lon(coordinates[j][0]), mercator.forward_lat(coordinates[j][1])];
|
|
754
636
|
}
|
|
755
637
|
|
|
756
638
|
// Creates polygon stroke data
|
|
@@ -781,26 +663,20 @@ class GeometryHandler {
|
|
|
781
663
|
geometry._lineVerticesLowMerc
|
|
782
664
|
);
|
|
783
665
|
|
|
784
|
-
geometry._lineVerticesLength =
|
|
785
|
-
|
|
786
|
-
geometry.
|
|
787
|
-
|
|
788
|
-
geometry.
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
geometry.
|
|
793
|
-
|
|
794
|
-
} else if (geometry._type === GeometryType.MULTILINESTRING) {
|
|
795
|
-
let coordinates = geometry._coordinates;
|
|
796
|
-
let ci = [];
|
|
666
|
+
geometry._lineVerticesLength = this._lineVerticesHighMerc.length - geometry._lineVerticesHandlerIndex;
|
|
667
|
+
geometry._lineOrdersLength = this._lineOrders.length - geometry._lineOrdersHandlerIndex;
|
|
668
|
+
geometry._lineIndexesLength = this._lineIndexes.length - geometry._lineIndexesHandlerIndex;
|
|
669
|
+
geometry._lineColorsLength = this._lineColors.length - geometry._lineColorsHandlerIndex;
|
|
670
|
+
geometry._lineThicknessLength = this._lineThickness.length - geometry._lineThicknessHandlerIndex;
|
|
671
|
+
|
|
672
|
+
} else if (geometry.type === GeometryType.MULTILINESTRING) {
|
|
673
|
+
|
|
674
|
+
let coordinates = geometry._coordinates as IMultiLineStringCoordinates;
|
|
675
|
+
let ci: IMultiLineStringCoordinates = [];
|
|
797
676
|
for (let j = 0; j < coordinates.length; j++) {
|
|
798
677
|
ci[j] = [];
|
|
799
678
|
for (let k = 0; k < coordinates[j].length; k++) {
|
|
800
|
-
ci[j][k] = [
|
|
801
|
-
mercator.forward_lon(coordinates[j][k][0]),
|
|
802
|
-
mercator.forward_lat(coordinates[j][k][1])
|
|
803
|
-
];
|
|
679
|
+
ci[j][k] = [mercator.forward_lon(coordinates[j][k][0]), mercator.forward_lat(coordinates[j][k][1])];
|
|
804
680
|
}
|
|
805
681
|
}
|
|
806
682
|
|
|
@@ -832,102 +708,68 @@ class GeometryHandler {
|
|
|
832
708
|
geometry._lineVerticesLowMerc
|
|
833
709
|
);
|
|
834
710
|
|
|
835
|
-
geometry._lineVerticesLength =
|
|
836
|
-
|
|
837
|
-
geometry.
|
|
838
|
-
|
|
839
|
-
geometry.
|
|
840
|
-
this._lineIndexes.length - geometry._lineIndexesHandlerIndex;
|
|
841
|
-
geometry._lineColorsLength =
|
|
842
|
-
this._lineColors.length - geometry._lineColorsHandlerIndex;
|
|
843
|
-
geometry._lineThicknessLength =
|
|
844
|
-
this._lineThickness.length - geometry._lineThicknessHandlerIndex;
|
|
711
|
+
geometry._lineVerticesLength = this._lineVerticesHighMerc.length - geometry._lineVerticesHandlerIndex;
|
|
712
|
+
geometry._lineOrdersLength = this._lineOrders.length - geometry._lineOrdersHandlerIndex;
|
|
713
|
+
geometry._lineIndexesLength = this._lineIndexes.length - geometry._lineIndexesHandlerIndex;
|
|
714
|
+
geometry._lineColorsLength = this._lineColors.length - geometry._lineColorsHandlerIndex;
|
|
715
|
+
geometry._lineThicknessLength = this._lineThickness.length - geometry._lineThicknessHandlerIndex;
|
|
845
716
|
}
|
|
846
717
|
}
|
|
847
718
|
|
|
848
719
|
// Refresh visibility
|
|
849
720
|
this.setGeometryVisibility(geometry);
|
|
850
721
|
|
|
851
|
-
!this._updatedGeometry[geometry.
|
|
852
|
-
this._updatedGeometry[geometry.
|
|
722
|
+
!this._updatedGeometry[geometry.__id] && this._updatedGeometryArr.push(geometry);
|
|
723
|
+
this._updatedGeometry[geometry.__id] = true;
|
|
853
724
|
this.refresh();
|
|
854
725
|
}
|
|
855
726
|
}
|
|
856
727
|
|
|
857
|
-
remove(geometry) {
|
|
858
|
-
|
|
728
|
+
public remove(geometry: Geometry) {
|
|
729
|
+
|
|
730
|
+
const index = geometry._handlerIndex;
|
|
859
731
|
if (index !== -1) {
|
|
860
732
|
this._geometries.splice(index, 1);
|
|
861
733
|
|
|
862
734
|
// polygon
|
|
863
735
|
// this._polyVerticesLonLat.splice(geometry._polyVerticesHandlerIndex, geometry._polyVerticesLength);
|
|
864
|
-
this._polyVerticesHighMerc.splice(
|
|
865
|
-
geometry._polyVerticesHandlerIndex,
|
|
866
|
-
geometry._polyVerticesLength
|
|
867
|
-
);
|
|
868
|
-
this._polyVerticesLowMerc.splice(
|
|
869
|
-
geometry._polyVerticesHandlerIndex,
|
|
870
|
-
geometry._polyVerticesLength
|
|
871
|
-
);
|
|
872
736
|
|
|
873
|
-
this.
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
);
|
|
877
|
-
this._polyPickingColors.splice(
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
this._polyIndexes.splice(
|
|
882
|
-
geometry._polyIndexesHandlerIndex,
|
|
883
|
-
geometry._polyIndexesLength
|
|
884
|
-
);
|
|
885
|
-
var di = geometry._polyVerticesLength * 0.5;
|
|
737
|
+
this._polyVerticesHighMerc.splice(geometry._polyVerticesHandlerIndex, geometry._polyVerticesLength);
|
|
738
|
+
this._polyVerticesLowMerc.splice(geometry._polyVerticesHandlerIndex, geometry._polyVerticesLength);
|
|
739
|
+
|
|
740
|
+
this._polyColors.splice(geometry._polyVerticesHandlerIndex * 2, geometry._polyVerticesLength * 2);
|
|
741
|
+
this._polyPickingColors.splice(geometry._polyVerticesHandlerIndex * 2, geometry._polyVerticesLength * 2);
|
|
742
|
+
this._polyIndexes.splice(geometry._polyIndexesHandlerIndex, geometry._polyIndexesLength);
|
|
743
|
+
|
|
744
|
+
let di = geometry._polyVerticesLength * 0.5;
|
|
886
745
|
for (let i = geometry._polyIndexesHandlerIndex; i < this._polyIndexes.length; i++) {
|
|
887
746
|
this._polyIndexes[i] -= di;
|
|
888
747
|
}
|
|
889
748
|
|
|
890
749
|
// line
|
|
891
750
|
// this._lineVerticesLonLat.splice(geometry._lineVerticesHandlerIndex, geometry._lineVerticesLength);
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
|
|
896
|
-
this._lineVerticesLowMerc.splice(
|
|
897
|
-
geometry._lineVerticesHandlerIndex,
|
|
898
|
-
geometry._lineVerticesLength
|
|
899
|
-
);
|
|
751
|
+
|
|
752
|
+
this._lineVerticesHighMerc.splice(geometry._lineVerticesHandlerIndex, geometry._lineVerticesLength);
|
|
753
|
+
this._lineVerticesLowMerc.splice(geometry._lineVerticesHandlerIndex, geometry._lineVerticesLength);
|
|
754
|
+
|
|
900
755
|
this._lineOrders.splice(geometry._lineOrdersHandlerIndex, geometry._lineOrdersLength);
|
|
901
756
|
this._lineColors.splice(geometry._lineColorsHandlerIndex, geometry._lineColorsLength);
|
|
902
|
-
this._linePickingColors.splice(
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
);
|
|
906
|
-
this.
|
|
907
|
-
|
|
908
|
-
geometry._lineColorsLength
|
|
909
|
-
);
|
|
910
|
-
this._lineThickness.splice(
|
|
911
|
-
geometry._lineThicknessHandlerIndex,
|
|
912
|
-
geometry._lineThicknessLength
|
|
913
|
-
);
|
|
914
|
-
this._lineStrokes.splice(
|
|
915
|
-
geometry._lineThicknessHandlerIndex,
|
|
916
|
-
geometry._lineThicknessLength
|
|
917
|
-
);
|
|
918
|
-
this._lineIndexes.splice(
|
|
919
|
-
geometry._lineIndexesHandlerIndex,
|
|
920
|
-
geometry._lineIndexesLength
|
|
921
|
-
);
|
|
757
|
+
this._linePickingColors.splice(geometry._lineColorsHandlerIndex, geometry._lineColorsLength);
|
|
758
|
+
this._lineStrokeColors.splice(geometry._lineColorsHandlerIndex, geometry._lineColorsLength);
|
|
759
|
+
this._lineThickness.splice(geometry._lineThicknessHandlerIndex, geometry._lineThicknessLength);
|
|
760
|
+
this._lineStrokes.splice(geometry._lineThicknessHandlerIndex, geometry._lineThicknessLength);
|
|
761
|
+
this._lineIndexes.splice(geometry._lineIndexesHandlerIndex, geometry._lineIndexesLength);
|
|
762
|
+
|
|
922
763
|
di = geometry._lineVerticesLength * 0.5;
|
|
923
764
|
for (let i = geometry._lineIndexesHandlerIndex; i < this._lineIndexes.length; i++) {
|
|
924
765
|
this._lineIndexes[i] -= di;
|
|
925
766
|
}
|
|
926
767
|
|
|
927
768
|
// reindex
|
|
928
|
-
|
|
769
|
+
let g = this._geometries;
|
|
929
770
|
for (let i = index; i < g.length; i++) {
|
|
930
|
-
|
|
771
|
+
let gi = g[i];
|
|
772
|
+
|
|
931
773
|
gi._handlerIndex = i;
|
|
932
774
|
gi._polyVerticesHandlerIndex -= geometry._polyVerticesLength;
|
|
933
775
|
gi._polyIndexesHandlerIndex -= geometry._polyIndexesLength;
|
|
@@ -939,6 +781,7 @@ class GeometryHandler {
|
|
|
939
781
|
gi._lineIndexesHandlerIndex -= geometry._lineIndexesLength;
|
|
940
782
|
}
|
|
941
783
|
|
|
784
|
+
|
|
942
785
|
geometry._pickingReady = false;
|
|
943
786
|
|
|
944
787
|
geometry._handler = null;
|
|
@@ -964,22 +807,21 @@ class GeometryHandler {
|
|
|
964
807
|
geometry._lineThicknessHandlerIndex = -1;
|
|
965
808
|
geometry._lineColorsHandlerIndex = -1;
|
|
966
809
|
|
|
967
|
-
!this._removeGeometryExtents[geometry.
|
|
968
|
-
this.
|
|
969
|
-
this._removeGeometryExtents[geometry._id] = true;
|
|
810
|
+
!this._removeGeometryExtents[geometry.__id] && this._removeGeometryExtentArr.push(geometry.getExtent());
|
|
811
|
+
this._removeGeometryExtents[geometry.__id] = true;
|
|
970
812
|
|
|
971
813
|
this.refresh();
|
|
972
814
|
}
|
|
973
815
|
}
|
|
974
816
|
|
|
975
|
-
_refreshRecursevely(geometry, treeNode) {
|
|
817
|
+
protected _refreshRecursevely(geometry: Geometry, treeNode: Node) {
|
|
976
818
|
if (treeNode.ready) {
|
|
977
|
-
|
|
819
|
+
let lid = this._layer._id;
|
|
978
820
|
for (let i = 0; i < treeNode.nodes.length; i++) {
|
|
979
|
-
|
|
980
|
-
if (geometry.
|
|
821
|
+
let ni = treeNode.nodes[i];
|
|
822
|
+
if (geometry.overlaps(ni.segment.getExtentLonLat())) {
|
|
981
823
|
this._refreshRecursevely(geometry, ni);
|
|
982
|
-
|
|
824
|
+
let m = ni.segment.materials[lid];
|
|
983
825
|
if (m && m.isReady) {
|
|
984
826
|
if (m.segment.node.getState() !== quadTree.RENDERING) {
|
|
985
827
|
m.layer.clearMaterial(m);
|
|
@@ -989,6 +831,7 @@ class GeometryHandler {
|
|
|
989
831
|
m._updateTexture = m.texture;
|
|
990
832
|
m._updatePickingMask = m.pickingMask;
|
|
991
833
|
}
|
|
834
|
+
|
|
992
835
|
geometry._pickingReady = true;
|
|
993
836
|
}
|
|
994
837
|
}
|
|
@@ -996,14 +839,14 @@ class GeometryHandler {
|
|
|
996
839
|
}
|
|
997
840
|
}
|
|
998
841
|
|
|
999
|
-
_refreshRecursevelyExt(extent, treeNode) {
|
|
842
|
+
protected _refreshRecursevelyExt(extent: Extent, treeNode: Node) {
|
|
1000
843
|
if (treeNode.ready) {
|
|
1001
|
-
|
|
844
|
+
let lid = this._layer.__id;
|
|
1002
845
|
for (let i = 0; i < treeNode.nodes.length; i++) {
|
|
1003
|
-
|
|
846
|
+
let ni = treeNode.nodes[i];
|
|
1004
847
|
if (extent.overlaps(ni.segment.getExtentLonLat())) {
|
|
1005
848
|
this._refreshRecursevelyExt(extent, ni);
|
|
1006
|
-
|
|
849
|
+
let m = ni.segment.materials[lid];
|
|
1007
850
|
if (m && m.isReady) {
|
|
1008
851
|
m.layer.clearMaterial(m);
|
|
1009
852
|
// m.pickingReady = false;
|
|
@@ -1016,26 +859,30 @@ class GeometryHandler {
|
|
|
1016
859
|
}
|
|
1017
860
|
}
|
|
1018
861
|
|
|
1019
|
-
_refreshPlanetNode(treeNode) {
|
|
1020
|
-
|
|
862
|
+
protected _refreshPlanetNode(treeNode: Node) {
|
|
863
|
+
let i;
|
|
1021
864
|
|
|
1022
|
-
|
|
865
|
+
let e = this._removeGeometryExtentArr;
|
|
1023
866
|
for (i = 0; i < e.length; i++) {
|
|
1024
867
|
this._refreshRecursevelyExt(e[i], treeNode);
|
|
1025
868
|
}
|
|
1026
869
|
|
|
1027
|
-
|
|
870
|
+
let g = this._updatedGeometryArr;
|
|
1028
871
|
for (i = 0; i < g.length; i++) {
|
|
1029
872
|
this._refreshRecursevely(g[i], treeNode);
|
|
1030
873
|
}
|
|
1031
874
|
}
|
|
1032
875
|
|
|
1033
|
-
_updatePlanet() {
|
|
1034
|
-
|
|
876
|
+
protected _updatePlanet() {
|
|
877
|
+
let p = this._layer._planet;
|
|
1035
878
|
if (p) {
|
|
1036
|
-
p.quadTreeStrategy.quadTreeList
|
|
1037
|
-
|
|
1038
|
-
|
|
879
|
+
let ql = p.quadTreeStrategy.quadTreeList;
|
|
880
|
+
for (let i = 0; i < ql.length; i++) {
|
|
881
|
+
this._refreshPlanetNode(ql[i]);
|
|
882
|
+
}
|
|
883
|
+
// p.quadTreeStrategy.quadTreeList.forEach((quadTree: Node) => {
|
|
884
|
+
// this._refreshPlanetNode(quadTree);
|
|
885
|
+
// });
|
|
1039
886
|
}
|
|
1040
887
|
this._updatedGeometryArr.length = 0;
|
|
1041
888
|
this._updatedGeometryArr = [];
|
|
@@ -1046,17 +893,17 @@ class GeometryHandler {
|
|
|
1046
893
|
this._removeGeometryExtents = {};
|
|
1047
894
|
}
|
|
1048
895
|
|
|
1049
|
-
refresh() {
|
|
1050
|
-
|
|
896
|
+
protected refresh() {
|
|
897
|
+
let i = this._changedBuffers.length;
|
|
1051
898
|
while (i--) {
|
|
1052
899
|
this._changedBuffers[i] = true;
|
|
1053
900
|
}
|
|
1054
901
|
}
|
|
1055
902
|
|
|
1056
|
-
update() {
|
|
903
|
+
public update() {
|
|
1057
904
|
if (this._handler) {
|
|
1058
|
-
|
|
1059
|
-
|
|
905
|
+
let needUpdate = false;
|
|
906
|
+
let i = this._changedBuffers.length;
|
|
1060
907
|
while (i--) {
|
|
1061
908
|
if (this._changedBuffers[i]) {
|
|
1062
909
|
needUpdate = true;
|
|
@@ -1068,14 +915,14 @@ class GeometryHandler {
|
|
|
1068
915
|
}
|
|
1069
916
|
}
|
|
1070
917
|
|
|
1071
|
-
setGeometryVisibility(geometry) {
|
|
1072
|
-
|
|
918
|
+
public setGeometryVisibility(geometry: Geometry) {
|
|
919
|
+
let v = geometry.getVisibility() ? 1.0 : 0.0;
|
|
1073
920
|
|
|
1074
|
-
|
|
921
|
+
let a = this._polyVerticesHighMerc,
|
|
1075
922
|
b = this._polyVerticesLowMerc;
|
|
1076
923
|
|
|
1077
|
-
|
|
1078
|
-
|
|
924
|
+
let l = geometry._polyVerticesLength;
|
|
925
|
+
let ind = geometry._polyVerticesHandlerIndex;
|
|
1079
926
|
for (let i = 0; i < l; i++) {
|
|
1080
927
|
a[ind + i] = geometry._polyVerticesHighMerc[i] * v;
|
|
1081
928
|
b[ind + i] = geometry._polyVerticesLowMerc[i] * v;
|
|
@@ -1083,6 +930,7 @@ class GeometryHandler {
|
|
|
1083
930
|
|
|
1084
931
|
a = this._lineVerticesHighMerc;
|
|
1085
932
|
b = this._lineVerticesLowMerc;
|
|
933
|
+
|
|
1086
934
|
l = geometry._lineVerticesLength;
|
|
1087
935
|
ind = geometry._lineVerticesHandlerIndex;
|
|
1088
936
|
for (let i = 0; i < l; i++) {
|
|
@@ -1093,14 +941,14 @@ class GeometryHandler {
|
|
|
1093
941
|
this._changedBuffers[POLYVERTICES_BUFFER] = true;
|
|
1094
942
|
this._changedBuffers[LINEVERTICES_BUFFER] = true;
|
|
1095
943
|
|
|
1096
|
-
!this._updatedGeometry[geometry.
|
|
1097
|
-
this._updatedGeometry[geometry.
|
|
944
|
+
!this._updatedGeometry[geometry.__id] && this._updatedGeometryArr.push(geometry);
|
|
945
|
+
this._updatedGeometry[geometry.__id] = true;
|
|
1098
946
|
}
|
|
1099
947
|
|
|
1100
|
-
setPolyColorArr(geometry, color) {
|
|
1101
|
-
|
|
948
|
+
public setPolyColorArr(geometry: Geometry, color: Vec4) {
|
|
949
|
+
let index = geometry._polyVerticesHandlerIndex * 2, // ... / 2 * 4
|
|
1102
950
|
size = index + geometry._polyVerticesLength * 2; // ... / 2 * 4
|
|
1103
|
-
|
|
951
|
+
let a = this._polyColors;
|
|
1104
952
|
for (let i = index; i < size; i += 4) {
|
|
1105
953
|
a[i] = color.x;
|
|
1106
954
|
a[i + 1] = color.y;
|
|
@@ -1108,14 +956,14 @@ class GeometryHandler {
|
|
|
1108
956
|
a[i + 3] = color.w;
|
|
1109
957
|
}
|
|
1110
958
|
this._changedBuffers[POLYCOLORS_BUFFER] = true;
|
|
1111
|
-
!this._updatedGeometry[geometry.
|
|
1112
|
-
this._updatedGeometry[geometry.
|
|
959
|
+
!this._updatedGeometry[geometry.__id] && this._updatedGeometryArr.push(geometry);
|
|
960
|
+
this._updatedGeometry[geometry.__id] = true;
|
|
1113
961
|
}
|
|
1114
962
|
|
|
1115
|
-
setLineStrokeColorArr(geometry, color) {
|
|
1116
|
-
|
|
963
|
+
public setLineStrokeColorArr(geometry: Geometry, color: Vec4) {
|
|
964
|
+
let index = geometry._lineColorsHandlerIndex,
|
|
1117
965
|
size = index + geometry._lineColorsLength;
|
|
1118
|
-
|
|
966
|
+
let a = this._lineStrokeColors;
|
|
1119
967
|
for (let i = index; i < size; i += 4) {
|
|
1120
968
|
a[i] = color.x;
|
|
1121
969
|
a[i + 1] = color.y;
|
|
@@ -1123,14 +971,14 @@ class GeometryHandler {
|
|
|
1123
971
|
a[i + 3] = color.w;
|
|
1124
972
|
}
|
|
1125
973
|
this._changedBuffers[LINESTROKECOLORS_BUFFER] = true;
|
|
1126
|
-
!this._updatedGeometry[geometry.
|
|
1127
|
-
this._updatedGeometry[geometry.
|
|
974
|
+
!this._updatedGeometry[geometry.__id] && this._updatedGeometryArr.push(geometry);
|
|
975
|
+
this._updatedGeometry[geometry.__id] = true;
|
|
1128
976
|
}
|
|
1129
977
|
|
|
1130
|
-
setLineColorArr(geometry, color) {
|
|
1131
|
-
|
|
978
|
+
public setLineColorArr(geometry: Geometry, color: Vec4) {
|
|
979
|
+
let index = geometry._lineColorsHandlerIndex,
|
|
1132
980
|
size = index + geometry._lineColorsLength;
|
|
1133
|
-
|
|
981
|
+
let a = this._lineColors;
|
|
1134
982
|
for (let i = index; i < size; i += 4) {
|
|
1135
983
|
a[i] = color.x;
|
|
1136
984
|
a[i + 1] = color.y;
|
|
@@ -1138,49 +986,43 @@ class GeometryHandler {
|
|
|
1138
986
|
a[i + 3] = color.w;
|
|
1139
987
|
}
|
|
1140
988
|
this._changedBuffers[LINECOLORS_BUFFER] = true;
|
|
1141
|
-
!this._updatedGeometry[geometry.
|
|
1142
|
-
this._updatedGeometry[geometry.
|
|
989
|
+
!this._updatedGeometry[geometry.__id] && this._updatedGeometryArr.push(geometry);
|
|
990
|
+
this._updatedGeometry[geometry.__id] = true;
|
|
1143
991
|
}
|
|
1144
992
|
|
|
1145
|
-
setLineStrokeArr(geometry, width) {
|
|
1146
|
-
|
|
1147
|
-
|
|
1148
|
-
|
|
1149
|
-
for (let i = index; i < size; i++) {
|
|
1150
|
-
|
|
1151
|
-
}
|
|
1152
|
-
this._changedBuffers[LINESTROKES_BUFFER] = true;
|
|
1153
|
-
!this._updatedGeometry[geometry.
|
|
1154
|
-
this._updatedGeometry[geometry.
|
|
993
|
+
public setLineStrokeArr(geometry: Geometry, width: number) {
|
|
994
|
+
// let index = geometry._lineStrokesHandlerIndex,
|
|
995
|
+
// size = index + geometry._lineStrokesLength;
|
|
996
|
+
// let a = this._lineStrokes;
|
|
997
|
+
// for (let i = index; i < size; i++) {
|
|
998
|
+
// a[i] = width;
|
|
999
|
+
// }
|
|
1000
|
+
// this._changedBuffers[LINESTROKES_BUFFER] = true;
|
|
1001
|
+
// !this._updatedGeometry[geometry.__id] && this._updatedGeometryArr.push(geometry);
|
|
1002
|
+
// this._updatedGeometry[geometry.__id] = true;
|
|
1155
1003
|
}
|
|
1156
1004
|
|
|
1157
|
-
setLineThicknessArr(geometry, width) {
|
|
1158
|
-
|
|
1005
|
+
public setLineThicknessArr(geometry: Geometry, width: number) {
|
|
1006
|
+
let index = geometry._lineThicknessHandlerIndex,
|
|
1159
1007
|
size = index + geometry._lineThicknessLength;
|
|
1160
|
-
|
|
1008
|
+
let a = this._lineThickness;
|
|
1161
1009
|
for (let i = index; i < size; i++) {
|
|
1162
1010
|
a[i] = width;
|
|
1163
1011
|
}
|
|
1164
1012
|
this._changedBuffers[LINETHICKNESS_BUFFER] = true;
|
|
1165
|
-
!this._updatedGeometry[geometry.
|
|
1166
|
-
this._updatedGeometry[geometry.
|
|
1013
|
+
!this._updatedGeometry[geometry.__id] && this._updatedGeometryArr.push(geometry);
|
|
1014
|
+
this._updatedGeometry[geometry.__id] = true;
|
|
1167
1015
|
}
|
|
1168
1016
|
|
|
1169
|
-
bringToFront(geometry) {
|
|
1170
|
-
|
|
1171
|
-
|
|
1172
|
-
geometry._polyIndexesLength
|
|
1173
|
-
);
|
|
1174
|
-
var lineIndexes = this._lineIndexes.splice(
|
|
1175
|
-
geometry._lineIndexesHandlerIndex,
|
|
1176
|
-
geometry._lineIndexesLength
|
|
1177
|
-
);
|
|
1017
|
+
public bringToFront(geometry: Geometry) {
|
|
1018
|
+
let polyIndexes = this._polyIndexes.splice(geometry._polyIndexesHandlerIndex, geometry._polyIndexesLength);
|
|
1019
|
+
let lineIndexes = this._lineIndexes.splice(geometry._lineIndexesHandlerIndex, geometry._lineIndexesLength);
|
|
1178
1020
|
|
|
1179
1021
|
this._geometries.splice(geometry._handlerIndex, 1);
|
|
1180
1022
|
|
|
1181
|
-
|
|
1023
|
+
let g = this._geometries;
|
|
1182
1024
|
for (let i = geometry._handlerIndex; i < g.length; i++) {
|
|
1183
|
-
|
|
1025
|
+
let gi = g[i];
|
|
1184
1026
|
gi._handlerIndex = i;
|
|
1185
1027
|
gi._polyIndexesHandlerIndex -= geometry._polyIndexesLength;
|
|
1186
1028
|
gi._lineIndexesHandlerIndex -= geometry._lineIndexesLength;
|
|
@@ -1198,20 +1040,20 @@ class GeometryHandler {
|
|
|
1198
1040
|
this._changedBuffers[POLYINDEXES_BUFFER] = true;
|
|
1199
1041
|
this._changedBuffers[LINEINDEXES_BUFFER] = true;
|
|
1200
1042
|
|
|
1201
|
-
!this._updatedGeometry[geometry.
|
|
1202
|
-
this._updatedGeometry[geometry.
|
|
1043
|
+
!this._updatedGeometry[geometry.__id] && this._updatedGeometryArr.push(geometry);
|
|
1044
|
+
this._updatedGeometry[geometry.__id] = true;
|
|
1203
1045
|
}
|
|
1204
1046
|
|
|
1205
|
-
createPolyVerticesBuffer() {
|
|
1206
|
-
|
|
1207
|
-
h.gl
|
|
1047
|
+
public createPolyVerticesBuffer() {
|
|
1048
|
+
let h = this._handler!;
|
|
1049
|
+
h.gl!.deleteBuffer(this._polyVerticesHighBufferMerc!);
|
|
1208
1050
|
this._polyVerticesHighBufferMerc = h.createArrayBuffer(
|
|
1209
1051
|
new Float32Array(this._polyVerticesHighMerc),
|
|
1210
1052
|
2,
|
|
1211
1053
|
this._polyVerticesHighMerc.length / 2
|
|
1212
1054
|
);
|
|
1213
1055
|
|
|
1214
|
-
h.gl
|
|
1056
|
+
h.gl!.deleteBuffer(this._polyVerticesLowBufferMerc!);
|
|
1215
1057
|
this._polyVerticesLowBufferMerc = h.createArrayBuffer(
|
|
1216
1058
|
new Float32Array(this._polyVerticesLowMerc),
|
|
1217
1059
|
2,
|
|
@@ -1219,9 +1061,9 @@ class GeometryHandler {
|
|
|
1219
1061
|
);
|
|
1220
1062
|
}
|
|
1221
1063
|
|
|
1222
|
-
createPolyIndexesBuffer() {
|
|
1223
|
-
|
|
1224
|
-
h.gl
|
|
1064
|
+
public createPolyIndexesBuffer() {
|
|
1065
|
+
let h = this._handler!;
|
|
1066
|
+
h.gl!.deleteBuffer(this._polyIndexesBuffer!);
|
|
1225
1067
|
this._polyIndexesBuffer = h.createElementArrayBuffer(
|
|
1226
1068
|
new Uint32Array(this._polyIndexes),
|
|
1227
1069
|
1,
|
|
@@ -1229,9 +1071,9 @@ class GeometryHandler {
|
|
|
1229
1071
|
);
|
|
1230
1072
|
}
|
|
1231
1073
|
|
|
1232
|
-
createPolyColorsBuffer() {
|
|
1233
|
-
|
|
1234
|
-
h.gl
|
|
1074
|
+
public createPolyColorsBuffer() {
|
|
1075
|
+
let h = this._handler!;
|
|
1076
|
+
h.gl!.deleteBuffer(this._polyColorsBuffer!);
|
|
1235
1077
|
this._polyColorsBuffer = h.createArrayBuffer(
|
|
1236
1078
|
new Float32Array(this._polyColors),
|
|
1237
1079
|
4,
|
|
@@ -1239,9 +1081,9 @@ class GeometryHandler {
|
|
|
1239
1081
|
);
|
|
1240
1082
|
}
|
|
1241
1083
|
|
|
1242
|
-
createPolyPickingColorsBuffer() {
|
|
1243
|
-
|
|
1244
|
-
h.gl
|
|
1084
|
+
public createPolyPickingColorsBuffer() {
|
|
1085
|
+
let h = this._handler!;
|
|
1086
|
+
h.gl!.deleteBuffer(this._polyPickingColorsBuffer!);
|
|
1245
1087
|
this._polyPickingColorsBuffer = h.createArrayBuffer(
|
|
1246
1088
|
new Float32Array(this._polyPickingColors),
|
|
1247
1089
|
4,
|
|
@@ -1249,16 +1091,16 @@ class GeometryHandler {
|
|
|
1249
1091
|
);
|
|
1250
1092
|
}
|
|
1251
1093
|
|
|
1252
|
-
createLineVerticesBuffer() {
|
|
1253
|
-
|
|
1254
|
-
h.gl
|
|
1094
|
+
public createLineVerticesBuffer() {
|
|
1095
|
+
let h = this._handler!;
|
|
1096
|
+
h.gl!.deleteBuffer(this._lineVerticesHighBufferMerc!);
|
|
1255
1097
|
this._lineVerticesHighBufferMerc = h.createArrayBuffer(
|
|
1256
1098
|
new Float32Array(this._lineVerticesHighMerc),
|
|
1257
1099
|
2,
|
|
1258
1100
|
this._lineVerticesHighMerc.length / 2
|
|
1259
1101
|
);
|
|
1260
1102
|
|
|
1261
|
-
h.gl
|
|
1103
|
+
h.gl!.deleteBuffer(this._lineVerticesLowBufferMerc!);
|
|
1262
1104
|
this._lineVerticesLowBufferMerc = h.createArrayBuffer(
|
|
1263
1105
|
new Float32Array(this._lineVerticesLowMerc),
|
|
1264
1106
|
2,
|
|
@@ -1266,9 +1108,9 @@ class GeometryHandler {
|
|
|
1266
1108
|
);
|
|
1267
1109
|
}
|
|
1268
1110
|
|
|
1269
|
-
createLineIndexesBuffer() {
|
|
1270
|
-
|
|
1271
|
-
h.gl
|
|
1111
|
+
public createLineIndexesBuffer() {
|
|
1112
|
+
let h = this._handler!;
|
|
1113
|
+
h.gl!.deleteBuffer(this._lineIndexesBuffer!);
|
|
1272
1114
|
this._lineIndexesBuffer = h.createElementArrayBuffer(
|
|
1273
1115
|
new Uint32Array(this._lineIndexes),
|
|
1274
1116
|
1,
|
|
@@ -1276,9 +1118,9 @@ class GeometryHandler {
|
|
|
1276
1118
|
);
|
|
1277
1119
|
}
|
|
1278
1120
|
|
|
1279
|
-
createLineOrdersBuffer() {
|
|
1280
|
-
|
|
1281
|
-
h.gl
|
|
1121
|
+
public createLineOrdersBuffer() {
|
|
1122
|
+
let h = this._handler!;
|
|
1123
|
+
h.gl!.deleteBuffer(this._lineOrdersBuffer!);
|
|
1282
1124
|
this._lineOrdersBuffer = h.createArrayBuffer(
|
|
1283
1125
|
new Float32Array(this._lineOrders),
|
|
1284
1126
|
1,
|
|
@@ -1286,9 +1128,9 @@ class GeometryHandler {
|
|
|
1286
1128
|
);
|
|
1287
1129
|
}
|
|
1288
1130
|
|
|
1289
|
-
createLineColorsBuffer() {
|
|
1290
|
-
|
|
1291
|
-
h.gl
|
|
1131
|
+
public createLineColorsBuffer() {
|
|
1132
|
+
let h = this._handler!;
|
|
1133
|
+
h.gl!.deleteBuffer(this._lineColorsBuffer!);
|
|
1292
1134
|
this._lineColorsBuffer = h.createArrayBuffer(
|
|
1293
1135
|
new Float32Array(this._lineColors),
|
|
1294
1136
|
4,
|
|
@@ -1296,9 +1138,9 @@ class GeometryHandler {
|
|
|
1296
1138
|
);
|
|
1297
1139
|
}
|
|
1298
1140
|
|
|
1299
|
-
createLinePickingColorsBuffer() {
|
|
1300
|
-
|
|
1301
|
-
h.gl
|
|
1141
|
+
public createLinePickingColorsBuffer() {
|
|
1142
|
+
let h = this._handler!;
|
|
1143
|
+
h.gl!.deleteBuffer(this._linePickingColorsBuffer!);
|
|
1302
1144
|
this._linePickingColorsBuffer = h.createArrayBuffer(
|
|
1303
1145
|
new Float32Array(this._linePickingColors),
|
|
1304
1146
|
4,
|
|
@@ -1306,9 +1148,9 @@ class GeometryHandler {
|
|
|
1306
1148
|
);
|
|
1307
1149
|
}
|
|
1308
1150
|
|
|
1309
|
-
createLineThicknessBuffer() {
|
|
1310
|
-
|
|
1311
|
-
h.gl
|
|
1151
|
+
public createLineThicknessBuffer() {
|
|
1152
|
+
let h = this._handler!;
|
|
1153
|
+
h.gl!.deleteBuffer(this._lineThicknessBuffer!);
|
|
1312
1154
|
this._lineThicknessBuffer = h.createArrayBuffer(
|
|
1313
1155
|
new Float32Array(this._lineThickness),
|
|
1314
1156
|
1,
|
|
@@ -1316,9 +1158,9 @@ class GeometryHandler {
|
|
|
1316
1158
|
);
|
|
1317
1159
|
}
|
|
1318
1160
|
|
|
1319
|
-
createLineStrokesBuffer() {
|
|
1320
|
-
|
|
1321
|
-
h.gl
|
|
1161
|
+
public createLineStrokesBuffer() {
|
|
1162
|
+
let h = this._handler!;
|
|
1163
|
+
h.gl!.deleteBuffer(this._lineStrokesBuffer!);
|
|
1322
1164
|
this._lineStrokesBuffer = h.createArrayBuffer(
|
|
1323
1165
|
new Float32Array(this._lineStrokes),
|
|
1324
1166
|
1,
|
|
@@ -1326,9 +1168,9 @@ class GeometryHandler {
|
|
|
1326
1168
|
);
|
|
1327
1169
|
}
|
|
1328
1170
|
|
|
1329
|
-
createLineStrokeColorsBuffer() {
|
|
1330
|
-
|
|
1331
|
-
h.gl
|
|
1171
|
+
public createLineStrokeColorsBuffer() {
|
|
1172
|
+
let h = this._handler!;
|
|
1173
|
+
h.gl!.deleteBuffer(this._lineStrokeColorsBuffer!);
|
|
1332
1174
|
this._lineStrokeColorsBuffer = h.createArrayBuffer(
|
|
1333
1175
|
new Float32Array(this._lineStrokeColors),
|
|
1334
1176
|
4,
|
|
@@ -1337,4 +1179,4 @@ class GeometryHandler {
|
|
|
1337
1179
|
}
|
|
1338
1180
|
}
|
|
1339
1181
|
|
|
1340
|
-
export {
|
|
1182
|
+
export {GeometryHandler};
|