Commit Graph

1903 Commits

Author SHA1 Message Date
Andreas Hocevar
89c5364b2f Use correct extent for the vector image 2020-01-24 13:50:02 +01:00
Andreas Hocevar
fd935bae53 Remove label cache, render text directly to target canvas 2020-01-13 22:12:53 +01:00
Andreas Hocevar
a4735e0700 Merge pull request #10478 from ahocevar/abort-without-dispose
Do not abort and dispose of tiles
2020-01-09 09:52:07 +01:00
Andreas Hocevar
5a8df1d4e2 We no longer need to increase the cache size 2020-01-08 10:53:42 +01:00
mike-000
cb665b7ea7 Simplify to return false if layer has no source 2020-01-06 17:31:38 +00:00
Andreas Hocevar
da6eed850c Do not lock label cache entries 2020-01-05 11:24:46 +01:00
Andreas Hocevar
b91e1a893d Do not abort and dispose of tiles 2020-01-05 00:05:24 +01:00
mike-000
f48704cac4 Fix for undefined source in Vector layer
A source left or set undefined is equivalent to an empty source so treat it as such to prevent errors in prepareFrame
2020-01-01 21:04:12 +00:00
Andreas Hocevar
02b34a4c23 Merge pull request #10394 from ahocevar/cleanup-maprenderer
Remove map renderer element when disposing
2019-12-09 09:30:55 +01:00
Andreas Hocevar
cefc57622b Remove map renderer element when disposing 2019-12-08 17:52:28 +01:00
Andreas Hocevar
174dea3232 Fix interim tile handing for vector tiles 2019-12-07 15:18:18 +01:00
Andreas Hocevar
057650fe7d Merge pull request #10309 from ahocevar/vectortile-rendermode-vector
Bring back vector render mode for vector tile layers
2019-11-29 11:51:38 +01:00
Andreas Hocevar
9317ad850e Create hit detection data per layer and without requestAnimationFrame 2019-11-20 00:50:43 +01:00
Andreas Hocevar
cf6cd09f58 Bring back vector render mode for vector tile layers 2019-11-18 10:40:05 +01:00
Andreas Hocevar
818113e3ce Do not hit detect while tile is loading 2019-11-14 10:30:13 +01:00
Olivier Guyot
ae66471e78 Webgl renderer / hide shader compile errors
Turns out there are sometimes errors that will not prevent the
shader from functioning normally. As such, it is not possible
to simply throw when there are errors/warnings.

Since we are not logging to the console, these errors will have to stay hidden
unless the user requests them explicitly.
2019-11-06 21:40:39 +01:00
Olivier Guyot
7da86ae71f Webgl points renderer / slight improvements following review
Also fixes a lint error.
2019-11-04 09:55:54 +01:00
Olivier Guyot
600e1a4647 Webgl points renderer / use a smaller canvas for hit detection render
The hit detection render is now done against a canvas with half the
width/height of the main render. This still provides sufficient precision
while requiring a much smaller memory allocation (especially for
retina devices).
2019-11-04 09:31:38 +01:00
jahow
f7b0f6750b Resolve memory leak when deleting a webgl layer
Various references were kept, preventing the layer and underlying
renderer and webgl context to be garbage collected.

Also, the Helper was simplified because it turns out deleting manually
all Webgl objects is useless: these objects will be released when
the context is garbage collected anyway.

Note: this touches the Layer and BaseLayer classes, as the following were
preventing the layer from being garbage collected:
* layer reference in the `state_` object in BaseLayer
* dangling listener for source change in Layer
2019-11-04 09:31:38 +01:00
Olivier Guyot
e78c14c061 Webgl points renderer / add a cache for features in the source
This allows quicker access to features as well as their geometries
and properties, reducing the time taken by a rebuildBuffers call.
2019-11-04 09:31:38 +01:00
Andreas Hocevar
ac50cc3460 New eslint config with no-multi-assign 2019-11-02 15:20:21 +01:00
Andreas Hocevar
2a96b6a8e3 Merge pull request #10239 from ahocevar/simpler-container-reuse
Simpler container reuse
2019-11-01 19:14:05 +01:00
Andreas Hocevar
9c26d9d7dd Merge pull request #10221 from Kai-W/source-undefined-bug
Fix for undefined Source
2019-10-31 22:21:45 +01:00
Andreas Hocevar
3de05c249b Fix container transform comparison 2019-10-31 20:29:20 +01:00
Andreas Hocevar
bb2bdb17aa Render vector tile layers to a single canvas 2019-10-31 20:29:19 +01:00
Andreas Hocevar
4b13c6dae0 Speed up rendering by not using alpha 2019-10-30 14:36:23 +01:00
Andreas Hocevar
7097a4c6ba Use render tiles instead of source tiles for hit detection 2019-10-30 11:44:12 +01:00
Andreas Hocevar
025b27bdec Use correct resolution for tile hit canvas 2019-10-29 22:11:46 +01:00
Andreas Hocevar
00af5a87be Only use source tile when it is available 2019-10-29 18:29:42 +01:00
kai.westerkamp
53f6359f8f Fix for undefined Source 2019-10-29 15:38:14 +01:00
Olivier Guyot
f84fae8f70 Merge pull request #10198 from jahow/fix-webgl-renderer-loading-extent
WebGL renderer / use the specified loading strategy for the vector data
2019-10-28 16:19:52 +01:00
Olivier Guyot
cd3b222467 Specify an actual extent when loading features in the Webgl points renderer
This means any specified loading strategy will be taken into account.

Also added some tests to make sure the interaction with the source is
correct.
2019-10-28 10:26:31 +01:00
Olivier Guyot
d643951a74 Shader Builder / add option to generate hit detection shaders 2019-10-25 14:55:44 +02:00
Tim Schaub
6b4e00e6ac Remove description from type tag 2019-10-23 10:27:56 -06:00
Andreas Hocevar
062614388c Merge pull request #10161 from ahocevar/vectorimage-getfeatures
Implement getFeatures() for ol/layer/VectorImage
2019-10-23 11:26:08 +02:00
Olivier Guyot
a1c00744d1 Webgl points renderer / throw if shader compilation fails
This should only happen if providing handcrafted shaders to the renderer.
2019-10-22 23:17:00 +02:00
Andreas Hocevar
39012a58f8 Implement getFeatures() for ol/layer/VectorImage 2019-10-22 11:27:26 +02:00
Andreas Hocevar
36a366bfeb Do not stop event propagation in prepareTile 2019-10-18 20:50:01 +02:00
Andreas Hocevar
54884314ee Merge pull request #10094 from ahocevar/immediate-hitdetection
New Layer#getFeatures method with fast hit detection
2019-10-14 22:21:08 +02:00
Andreas Hocevar
90d6a6f441 Move hit detection to its own module 2019-10-14 14:40:06 +02:00
Andreas Hocevar
7454df0c2f Resolve empty when tile not loaded yet 2019-10-14 14:13:57 +02:00
Simon Seyock
5b1106ac23 some type corrections 2019-10-10 09:07:35 +02:00
Andreas Hocevar
3c243b0236 getFeature() for VectorTile layer 2019-10-08 08:23:38 +02:00
Andreas Hocevar
e9785317eb Move hit detection code to Immediate.js 2019-10-08 08:23:38 +02:00
Andreas Hocevar
315695eeb8 New Layer#getFeatures method with fast hit detection for VectorLayer 2019-10-08 08:23:38 +02:00
Frederic Junod
f20db28901 Align layer canvas to the left
So that the position is not affected by the `text-align` css rule.
2019-10-07 13:48:32 +02:00
Frederic Junod
41b7893523 Mark properties as nullable 2019-10-01 10:47:07 +02:00
Tim Schaub
d3b47c794e Make the immediate API work with a user projection 2019-09-30 08:28:50 -06:00
Frederic Junod
ea88e6cbd4 Remove invalid undefined type in params 2019-09-27 11:01:50 +02:00
Andreas Hocevar
838edfa369 Recover from skip feature removal regressions 2019-09-26 16:56:38 +02:00