Commit Graph

11983 Commits

Author SHA1 Message Date
Logan BOUNET 87d80be915 Add minArea typedef and ctor prop in DragZoom 2019-07-03 10:29:13 -04:00
ahocevar 534afae345 Set world projection only for tile-pixels units 2019-07-02 23:03:22 +02:00
Lutz Helm 0507132a21 Correct and test IIIF version 3 image info parser 2019-07-02 13:21:09 +02:00
Lutz Helm 7147dce4d0 Remove unused code in IIIFInfo parser 2019-07-02 09:52:08 +02:00
Lutz Helm cc976dd4ad Adjust IIIF info parsing to 3.0-beta spec
- respect `preferredFormats`
- correct compliance level profile formats and features
2019-07-01 17:51:52 +02:00
Andreas Hocevar 4a3e4c7c23 Merge pull request #9733 from ahocevar/apidoc-fixes
Get rid of JSDoc warnings and fix fires arguments
2019-06-29 14:40:08 +02:00
ahocevar cb77f9e3dd Get rid of JSDoc warnings and fix fires arguments 2019-06-29 10:25:35 +02:00
Andreas Hocevar 8ff29f8431 Merge pull request #9732 from ahocevar/vectortile-empty-key
Fix EMPTY state and source key handling
2019-06-29 10:18:53 +02:00
ahocevar c4937bc716 Fix EMPTY state and source key handling 2019-06-28 23:25:36 +02:00
Frédéric Junod 75a0a0ed49 Merge pull request #9722 from fredj/rm_unused
Remove unused param in getState function
2019-06-28 16:13:02 +02:00
Frederic Junod 933a6297bb Remove unused hasFeatureAtCoordinate from ol/renderer/Layer 2019-06-28 11:10:33 +02:00
jahow 3bca9b5297 Webgl / use feature index for hit detection in points layer
For each feature its opacity value index is encoded on 4 bytes
in the color values, and the uid is stored in the opacity
value, allowing for a much higher range of uids to be read.
2019-06-28 09:12:20 +02:00
Olivier Guyot 28b99767f8 Webgl points / read only one pixel for feature hit detection
Also implements `hasFeatureAtCoordinate`.

`hitTolerance` is not supported for now.
2019-06-28 09:12:20 +02:00
Olivier Guyot e852294938 Webgl / improve reading of render targets data
Now two methods are available: `readAll` and `readPixel`,
and the data from the render target is not re-read every time unless
`clearCachedData` is called.
2019-06-28 09:12:20 +02:00
Olivier Guyot 5ffca0633c Webgl Points / Add support for feature hit detection
For now only `forEachFeatureAtCoordinate` is implemented.

Each time the viewport is rendered, another similar render pass is
done using the specific hit detection instructions. Feature uid's are
encoded in the r,g,b,a channels and can then be decoded on the fly.

Note: the `readPixels` operation is taking a lot of time,
around 10-20ms each frame.
2019-06-28 09:12:20 +02:00
Olivier Guyot 38920867fb Webgl Helper / Add a method to prepare drawing to render targets 2019-06-28 09:12:20 +02:00
Olivier Guyot 6224d749c4 WebGL / Introduced the WebGLRenderTarget class
This utility class simplifies rendering to a texture & reading the
results of the render.

It also allows clearing its content before a new render.
2019-06-28 09:12:20 +02:00
Olivier Guyot 1257ade199 Webgl renderer / rename function to avoid confusion
`getBlankTexture` was too close to `WebGLHelper#createTexture`
2019-06-28 09:12:20 +02:00
Olivier Guyot f25a16d90c Webgl helper / rework create texture utils
Now only one util is available: `createTexture`, which
is tested and allows binding an image and reusing an existing texture.
2019-06-28 09:12:20 +02:00
Olivier Guyot b6425187de Remove unused WebGLShader class 2019-06-28 09:06:16 +02:00
Olivier Guyot 2b5e5459ab Webgl points / add hit detection buffers generation
Hit detection is done by rendering features with their id encoded in the
color attribute. A parallel set of render instructions and a second
vertex buffer is used specifically for that.
2019-06-28 09:06:16 +02:00
Olivier Guyot 8145b358c0 Webgl renderer / add id encode/decode utils 2019-06-28 09:06:16 +02:00
Olivier Guyot 034e0be76f Vector Source / index all features by uid
Previously features were indexed by uid only when they
did not have a defined id.
A new method was added: `getFeatureByUid`. This is not part of
the public API.
This will facilitate the lookup of features for hit detection.
2019-06-28 09:06:16 +02:00
Frederic Junod 49a65568d8 Remove unused param in getState function 2019-06-27 15:07:59 +02:00
Frédéric Junod 9e928b996c Merge pull request #9714 from fredj/f9662
Update the circle style after setRadius calls
2019-06-25 16:15:48 +02:00
Frederic Junod 54c670de77 Remove unused variable in ol/renderer/webgl/PointsLayer 2019-06-25 15:24:00 +02:00
Frederic Junod 9aa11d2e11 Update the circle style after setRadius calls 2019-06-25 10:42:52 +02:00
Frederic Junod 0d6368d4ec Remove underscore from protected function, fix indentation, remove typecast 2019-06-25 10:40:11 +02:00
Frédéric Junod caac90e8d7 Merge pull request #9711 from fredj/viewParams_space
Remove extra space for the 'viewParams' attribute
2019-06-25 08:29:22 +02:00
Tim Schaub 08c494dd11 Allow an arbitrary tag to be used as feature id 2019-06-24 12:01:12 -06:00
Frederic Junod c428421586 Remove extra space for the 'viewParams' attribute 2019-06-24 16:28:04 +02:00
Andreas Hocevar 4a0d6ce43c Merge pull request #9705 from ahocevar/vectortile-render-optimizations
Vector tile renderer optimizations and fixes
2019-06-24 09:50:56 +02:00
ahocevar 8cdfc6e17c Do not use self to check browser features 2019-06-23 14:26:40 +02:00
ahocevar 9cd35d67a9 Fix clipping and clearing 2019-06-23 14:23:32 +02:00
ahocevar 4d2fa476a3 Simpler z sort 2019-06-23 14:22:56 +02:00
ahocevar f864c05070 Less frame budget restrictions 2019-06-23 14:07:22 +02:00
ahocevar 3557271e5a Use Image.prototype.decode also in Safari 2019-06-23 14:06:14 +02:00
Andreas Hocevar 8a49e06ebd Merge pull request #9704 from ahocevar/vectortile-reuse-issue
Handle container reuse properly when layers are added/removed
2019-06-22 19:33:59 +02:00
ahocevar 6783f6adb9 Handle container reuse properly when layers are added/removed 2019-06-22 19:12:39 +02:00
Frédéric Junod 300522e3cc Merge pull request #9701 from fredj/overlay_will-change
Remove will-change CSS rule for Overlay container
2019-06-21 16:36:27 +02:00
Tim Schaub 3ede6e32be Merge pull request #9702 from lutzhelm/typecheck-iiif
Fix several TypeScript type check problems
2019-06-21 07:53:59 -06:00
Lutz Helm d6dc7a926d Fix several TypeScript type check problems 2019-06-21 15:26:28 +02:00
Frederic Junod a6ebad008f Remove will-change CSS rule for Overlay container
Fixes #9467
Fixes #9139

Chrome doesn't force a composition if the `will-change` CSS rule is different from `transform` or `opacity`.
See https://bugs.chromium.org/p/chromium/issues/detail?id=960953
2019-06-21 14:22:46 +02:00
Kai Volland ed5d4aaf6d Fixes typing issue in mat4.js 2019-06-21 13:35:40 +02:00
Kai Volland f507efe77d Fixes typing issue in Composite.js 2019-06-21 13:31:27 +02:00
Kai Volland 83173cd385 Fixes typing issue in VectorTile.js 2019-06-21 13:30:35 +02:00
Kai Volland b6b91abc27 Fixes typing issue in DragPan.js 2019-06-21 13:28:56 +02:00
Frederic Junod ef10834eb3 Remove unused constants from ol/webgl
And change the `EXTENSIONS` constant to a function
2019-06-20 10:25:22 +02:00
Frederic Junod 1f00da8d83 Remove glContext from RenderEvent 2019-06-17 13:52:56 +02:00
Andreas Hocevar edebf35135 Merge pull request #9677 from ahocevar/featureformat-tilepixels
Add support for tile pixel projection in feature formats
2019-06-15 08:22:28 +02:00