Commit Graph

12856 Commits

Author SHA1 Message Date
Olivier Guyot e5e03d46a0 Webgl points renderer / more optimizations
Simplify calls in the attributes callback, also less stress
on garbage collection.
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 442213f85b Store correct font value 2019-11-01 22:06:00 +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
Frédéric Junod 89f92a53b4 Merge pull request #10237 from fredj/zIndex_falsy_value
Fix layer zIndex test with falsy values
2019-11-01 08:25:56 +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
Frederic Junod b8c70bcbe7 Fix layer zIndex test with falsy values 2019-10-31 15:58:36 +01:00
Andreas Hocevar 5dec336f94 Merge pull request #10228 from ahocevar/vectortile-hitdetect-rendertile
Use render tiles instead of source tiles for hit detection
2019-10-31 10:44:52 +01:00
Andreas Hocevar e3f83f3601 Merge pull request #10226 from ahocevar/reproj-tile-abort
ABORT reproj tiles properly
2019-10-30 16:55:35 +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 79ea5bf9cd Set ABORT state in base class 2019-10-30 10:29:58 +01:00
Andreas Hocevar 97d0d277fb Merge pull request #10224 from ahocevar/hitdetect-vectortiles-fixes
Vector tile hit detection fixes
2019-10-29 22:33:53 +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
Frédéric Junod 7d7228d45c Update src/ol/style/expressions.js
Co-Authored-By: Olivier Guyot <olivier.guyot@camptocamp.com>
2019-10-29 10:50:14 +01:00
Frederic Junod b0ed775bc6 Documentation fixes 2019-10-29 08:42:11 +01:00
Andreas Hocevar 90e1819d76 Merge pull request #10214 from jahow/webgl-layer-boolean-operators
WebGL / Add 'case' operator for style expressions
2019-10-28 21:11:47 +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 b96e70e952 Expressions / renamed mod to % to be more in line with MB style spec 2019-10-28 15:55:15 +01:00
Olivier Guyot 501c90b0a2 Expressions / introduced the case operator
This operator is used for if/else control flow
2019-10-28 15:52:31 +01:00
Olivier Guyot 2a2783c086 ShaderBuilder / better handling of strings variables/attributes
Now values which are not mentioned in the style are still added to
the string literals mapping.

Also an error will be thrown if a style references a missing variable.
2019-10-28 15:21:44 +01:00
Olivier Guyot 2f49876180 Expressions / add != operator & slightly better doc 2019-10-28 15:13:43 +01:00
Andreas Hocevar db6314b6b2 Merge pull request #10187 from ahocevar/tabindex-scrollover
Set touch-action to allow native touch gestures
2019-10-28 13:49:44 +01:00
Tim Schaub 65eb24da68 Merge pull request #10194 from MrSoUndso/dev
Added check to make sure extent array has four objects.
2019-10-28 06:39:11 -06:00
Jakob Gerstmayer 6652192647 fixed spacing issues (again) 2019-10-28 12:55:26 +01:00
Jakob Gerstmayer bc34fe5b71 incorporated suggestions 2019-10-28 12:51:40 +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
Andreas Hocevar 15a64e657d Merge pull request #10178 from TieSKey/master
Make ol/interaction/Select#handleEvent return always true.
2019-10-27 22:58:39 +01:00
TigerShark 4f0431edd5 Restore pointerMove in condition.js and example.
Wrongly removed on previous commit as pointed by @ahocevar.
2019-10-27 11:45:53 -03:00
Olivier Guyot c40263c38b Merge pull request #10196 from jahow/webgl-add-string-operators
Webgl / add support for string and arrays in style expressions
2019-10-25 17:27:39 +02:00
Frederic Junod daaf9695ff Add assertNumbers function in ol/style/expressions 2019-10-25 15:46:49 +02:00
Olivier Guyot e63bb45e6f Webgl points layer / allow disabling hit detection
Having hit detection enabled has an overhead as it means
continously generating additional render instructions and rendering
to an offscreen canvas
2019-10-25 15:11:37 +02:00
Olivier Guyot 4462608991 Expressions / adds color and array conversion operators
Also fixes existing error throwingtests which were essentially doing nothing.
2019-10-25 14:55:44 +02:00
Olivier Guyot ff3cc9b4d0 Expressions / renamed operator pow to ^
To be more in line with Mapbox style spec
2019-10-25 14:55:44 +02:00
Olivier Guyot acf973751b Webgl / added time and resolution as default uniforms
Also added the `zoom` and `resolution` style operators
2019-10-25 14:55:44 +02:00
Olivier Guyot e843b2cfc0 Expressions / adaptation and cleanup after stretch operator removal
The examples have been fixed as well.
2019-10-25 14:55:44 +02:00
Olivier Guyot 719495587c Expressions / rework the interpolate operator
This operator is now able to map numbers to output ranges as well as colors,
making the stretch operator unnecessary. Also allows giving multiple stops,
like in Mapbox style spec.
2019-10-25 14:55:44 +02:00
Olivier Guyot 9e010631c1 Expressions / refactor operators to avoid linting errors
Previously the utilities used the Operators dict before its definition.
2019-10-25 14:55:44 +02:00
Olivier Guyot d643951a74 Shader Builder / add option to generate hit detection shaders 2019-10-25 14:55:44 +02:00
Olivier Guyot a39f751981 Shader Builder / adapt logic & test to the new expression types
Also fixes a sneaky bug where the two last texture coordinates were inverted.
2019-10-25 14:55:44 +02:00
Olivier Guyot 27c530ec64 Expressions / introduce the match operator
This operator allows mapping from input values to output values of different
kinds and handles variable arguments count.
2019-10-25 14:55:44 +02:00
Olivier Guyot e3f7d29bb2 Expressions / add utilities for using strings in GLSL & more type checking
It is now possible to specify a type hint when parsing an expression, which
helps determine the output value type.

When no single output type can be inferred, an error is thrown.

For strings, every literal value will be replaced by a number and a map of
these associations will be kept in the parsing context, which is passed
recursively.
2019-10-25 14:55:44 +02:00
Olivier Guyot 31dae929f5 ShaderBuilder / adapt logic & tests to new expressions module 2019-10-25 14:55:44 +02:00
Olivier Guyot bcf7649b9a Expressions / store the variables & attributes in the context 2019-10-25 14:55:44 +02:00
Olivier Guyot 7e4119d580 Expressions / restored the parsing logic with better type checking
Converting expressions to GLSL is now done in ol/style/expressions, with the
same logic as before in ol/webgl/ShaderBuilder.
2019-10-25 14:55:44 +02:00