Commit Graph

3495 Commits

Author SHA1 Message Date
Olivier Guyot b8e8d30df0 Shader Builder / add utilities for checking an expression type
Type checking is done either against a literal value (number, string...)
or against the operator in case of an expression.

Sometimes it is not possible to infer only one type, for example
the value 'transparent' could either be a color or a string. This
is covered by the fact that all operators expect exactly one type
for their arguments.
2019-10-22 23:17:00 +02:00
Olivier Guyot f43637cc33 Shader Builder / support strings in formatColor 2019-10-22 23:17:00 +02:00
Olivier Guyot 56faf4c3ad Color / add an isStringColor utility function 2019-10-22 23:17:30 +02:00
Olivier Guyot a0b271a812 Literal Style / add support for variables in the style
These variables are accessed using the `var` operator, and are meant
to be mutated directly in the style object. When doing so,
the new value will always be used for the render.

This is intended to be used for modifying the style through external
parameters such as an input field, a slider, mouse position etc.
2019-10-22 23:17:00 +02:00
Olivier Guyot 94b8cf6af3 Webgl / add support for a time operator in literal styles
This required adding `u_time` as one of the default uniforms provided by the
webgl helper.
2019-10-22 23:17:23 +02:00
Olivier Guyot 0c0c8c5d56 Literal Style / add support for a filter property 2019-10-22 23:17:00 +02:00
Olivier Guyot e38250ee14 ShaderBuilder / add fragment discard expression in shader params 2019-10-22 11:39:30 +02:00
Olivier Guyot 9ee93cd2cf ShaderBuilder / refactoring to use an actual builder pattern
There is now a ShaderBuilder class with chainable methods
to specify more easily the contents of the final shaders.
This is to avoid passing around large objects to different functions,
and allow for a richer API.

The documentation has also been corrected and clarified.
2019-10-22 11:12:06 +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 0cb9d73848 No ERROR state for render tiles 2019-10-11 14:58:22 +02:00
Olivier Guyot 87414256e2 Heatmap / use worker events instead of timeout for test 2019-10-11 14:06:27 +02:00
Olivier Guyot b44a6ab26a Heatmap / add hit detection shaders 2019-10-08 13:27:31 +02:00
Andreas Hocevar f477fc18f2 Add tests 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
Olivier Guyot 176dccd6df Merge pull request #10060 from mike-000/patch-1
Ensure zoom level is not less than minimum integer zoom level for extent
2019-09-30 17:34:45 +02:00
Tim Schaub d3b47c794e Make the immediate API work with a user projection 2019-09-30 08:28:50 -06:00
Tim Schaub 7c8b2215d4 Remove unused code 2019-09-29 07:05:48 -06:00
Tim Schaub d2b25533c2 Use the same spelling used elsewhere 2019-09-29 07:37:45 -05:00
mike-000 733b883ac0 Correct expected result to reflect #10054
Correct world extent constrained resolution test to expect integer zoom level
2019-09-29 12:19:42 +01:00
Tim Schaub 1260dfc153 Merge pull request #10057 from tschaub/fewer-extensions
Remove unused test extensions
2019-09-28 19:02:02 -05:00
Tim Schaub 76df721b98 Merge pull request #10056 from tschaub/uncalled
Remove called assert extension
2019-09-28 19:01:15 -05:00
Tim Schaub c984b28752 Remove unused test extensions 2019-09-28 12:02:48 -05:00
Tim Schaub 3b02f5597e Remove called assert extension 2019-09-28 18:55:38 +02:00
Andreas Hocevar 7f8fdd6219 Ensure proper tile load sequence 2019-09-28 15:24:37 +02:00
Tim Schaub 32644c7ba9 Merge pull request #10051 from tschaub/unchained
Simplify the assertion
2019-09-28 08:17:09 +02:00
Tim Schaub c8456868bd Simplify the assertion 2019-09-27 23:49:57 +02:00
Tim Schaub 239f5745c1 Correct fail 2019-09-27 23:23:24 +02:00
Andreas Hocevar 70706443f5 Merge pull request #10048 from ahocevar/early-empty-state
Early EMPTY state for VectorRenderTile
2019-09-27 22:29:42 +02:00
Andreas Hocevar 47dd60104d Set EMPTY state of VectorRenderTile early 2019-09-27 19:04:21 +02:00
Tim Schaub 80cf76e783 Merge pull request #10043 from tschaub/snap-geographic
User coordinates during snapping
2019-09-27 17:20:16 +02:00
Tim Schaub a996d62d46 Test snap with geographic coordinates 2019-09-27 14:12:10 +02:00
Andreas Hocevar 99c56a1f08 Additional tests for LineString 2019-09-27 11:10:14 +02:00
Andreas Hocevar ac8f8f4e88 Merge pull request #10024 from ahocevar/focus-condition-target
Allow EventTarget to use a different default target
2019-09-26 19:59:27 +02:00
Andreas Hocevar fd594c2001 Do not remove listeners that do not exist 2019-09-26 19:02:06 +02:00
Andreas Hocevar 3a10476c1c Merge pull request #10007 from mike-000/patch-1
Changes for #9395 CircleStyle inconsistency
2019-09-26 18:46:24 +02:00
Tim Schaub b56c8b6630 Merge pull request #10027 from tschaub/fix-test
Confirm zoomByDelta calls view.animate()
2019-09-26 18:39:36 +02:00
Tim Schaub 53e2f432e7 Confirm zoomByDelta calls view.animate() 2019-09-26 18:30:16 +02:00
Olivier Guyot 8c19399d0b Merge pull request #10016 from jahow/webgl-attribute-link
WebGL Points Layer: allow expressions in literal style
2019-09-26 18:02:26 +02:00
Andreas Hocevar 899af3e5c7 Allow EventTarget to use a different default target 2019-09-26 17:56:51 +02:00
Tim Schaub 5d4e77151c Handle event coordinate in the user projection 2019-09-26 17:24:58 +02:00
Tim Schaub 1e27846d6d Use user projection for event coordinate 2019-09-26 17:23:39 +02:00
Olivier Guyot 28d157af56 Shader builder / add circle and triangle shapes for symbols 2019-09-26 16:30:19 +02:00
Olivier Guyot 9b3a9b5eca Shader builder / add logic for transforming a style into shader params
This was previously handled by the WebGLPointsLayer class, but is now
externalized and tested.
2019-09-26 16:20:35 +02:00
Olivier Guyot d5caabbbfc Shader builder / add basic expression parsing
Only a handful of expressions for now, very loosely based on the
mapbox style spec. Also only work on numerical values.
2019-09-26 16:20:35 +02:00
Olivier Guyot 02e5e1776c Hit detection / fix test for wrapped geometries hit detection
Also restores the whole unit test suite.
2019-09-26 15:59:14 +02:00
Andreas Hocevar 28fb7c5590 Merge pull request #10010 from ahocevar/require-type-and-listener
Require type and listener for addEventListener/removeEventListener
2019-09-26 15:29:50 +02:00
mike-000 e28fa56edd Changes for the CircleStyle inconsistency seen in #9395
Change hit detection test to reflect fix for #9395 CircleStyle inconsistency

Update ol/style/Circle and ol/style/RegularShapen tests
Revise test for no fill
Add test for transparent fill

Update Upgrade notes
Changes to hit detection with unfilled styles
2019-09-26 14:27:31 +01:00
Andreas Hocevar d2e33a0df0 Add a test that shows the fixed issue 2019-09-26 15:20:29 +02:00
Olivier Guyot 607f2f0746 Merge pull request #9994 from jahow/add-webgl-layer-type
Add a new layer type: WebGLPointsLayer
2019-09-26 14:55:09 +02:00
Tim Schaub 14a9002ee2 Merge pull request #10006 from KlausBenndorf/check-wrapped
Check hits for wrapped around geometries
2019-09-26 14:07:02 +02:00