Executors are use to render instructions.
They do not contain cod for building instructions.
Signed-off-by: Guillaume Beraudo <guillaume.beraudo@camptocamp.com>
It is often useful in application code to have a way to uniquely identify
and object.
Exposing the OpenLayers mechanism allows for best performance and avoid
unneccessary dirt.
TileWMS objects take a gutter option but do not have a public getter
for it. This makes it convoluted for user code to recreate the object
(ex: in the case of serialization/deserialization).
- the getGutterInternal() method is renamed to getGutter;
- the getGutter(projection) method is renamed to getGutterForProjection,
which is also more explicit.
The getGutter method was not API and is only used by the renderer.
In OpenLayers 5, the following features are not supported anymore:
- Google Closure Compiler builds;
- custom builds.
The Google Closure Compiler is only kept for internal type checking.
There is a great deal of lines about Greenkeeper merges in the changelog, making it
hard to find real changes to the code.
This commit modifies the changelog task to exclude such lines.
Changes to the layer were only propagated in some cases like addition/removal of a
layer to the group.
To make it consistent both with the rest of the group.js file and with the
layer.js file, the changes are now always notified.
Until now, the features of transparent vector layers were rendered using
the layer opacity. This caused colors to mix together and the opacities
to stack up to an higher value than the expected layer opacity.
With this commit, the features are rendered at 100% opacity to an
intermediate canvas which ensures colors do not mix up even in the case
of features using an array of styles. The intermediate canvas is then
composed to the map canvas using the layer opacity.
Transparent layers are automatically detected, non-transparent layers
are not affected by the change.
Previous typing was confusing the compiler. It could not figure out the
difference between the proj4 property and the constructor, which lead to
errors such as:
- ol.proj.setProj4(proj4)
ERR! compile /home/gberaudo/dev/ngeo/src/proj/epsg21781.js:8: ERROR - actual parameter 1 of ol.proj.setProj4 does not match formal parameter
ERR! compile found : function (new:proj4): ?
ERR! compile required: (null|proj4)
ERR! compile ol.proj.setProj4(proj4);
ERR! compile ^^^^^
- ol.proj.proj4.get().defs('EPSG:21781', epsg21781def)
ERR! compile /home/gberaudo/dev/ngeo/src/proj/epsg21781.js:26: ERROR - Property defs never defined on proj4
ERR! compile ol.proj.proj4.get().defs('EPSG:21781', epsg21781def);
ERR! compile ^^^^
Despite the dispatchEvent method accepting a hash with a "target" property of
"undefined", closure may still require the "target" property to be
explicit.
In order to have the function returned by ol.source.UrlTile#getTileUrlFunction()
to return a url even when executed outside the context of the source, then it
should be bound to the source.
This commit allows setting a z-index property on the layers and uses
it in the canvas, WEBGL and DOM map renderers for ordering the layers
before rendering.
Default z-index is 0 for managed layers and 1000 for unmanaged ones.
It allows always on bottom, always on top and more complex layer layouts.
We currently rely on the renderer to load the styles it intents to use.
In Ol3-Cesium we want to allow different styles for 3D and for 2D.
This commit fixes the issue by allowing application code to explicitely
initiate the loading process.
Setting a feature geometry to null or undefined and triggering a hit
detection was throwing an exception.
This patch handles a batched feature without a geometry in the same
fashion as skipped features.
An equivalent patch has been applied to the canvas replay.
Setting a feature geometry to null or undefined and triggering a hit
detection was throwing an exception.
This patch handles a batched feature without a geometry in the same
fashion as skipped features.
When finishing drawing, this PR dispatches the `drawend` event before adding
the feature to the source or collection.
This change allows user code to finish configuring the feature (setting style,
properties, ...).
It is useful since inserting a feature, or later on modifying it, may trigger
processing which only makes sense if the feature is ready. For example,
ol3-cesium will recreate a 3D counterpart.
By having the abstract methods in the base class, subclasses can simply
override the methods they actually provide.
Additionally, this change fixes a regression in webgl canvas immediate.