- Changes
- Animate olcs.contrib.Manager#toggle3d.
- Add support for Overlay synchronization, see example Overlays.
- Port to OpenLayers 4.6.2 and Cesium 1.40.
- Restore OpenLayers events propagation.
- Workaround camera sinking under the terrain and finally jumping above it. See CesiumGS/cesium#5999. The workaround requires the Camptocamp version of Cesium (otherwise it has no effect).
- Add preliminary work for an ES6 package https://www.npmjs.com/package/olcs.
- Remove management of ol.source.ImageVector. This class is deprecated in OpenLayers 4.6.2.
-
Breaking changes
- Changed AbstractSynchronizer.createSingleLayerCounterparts Plugin API in existing plugins the function has to be modified. It now takes an object {layer: !ol.layer.Base, parents: Array<ol.layer.Group>}. The parents are ordered with the first parent coming first and the last parent coming last.
-
Changes
- Allow features to specify a dedicated geometry for rendering in Cesium
using the
olcs.3d_geometry
property. - Enable googshift eslint rules to prepare for ES6 modules migration; move source to the olcs directory and fix filenames.
- Add basic support for clustered sources: see openlayers#496.
- Introduce olcs.contrib.LazyLoader and olcs.contrib.Manager classes to ease initialization of an application. For extending these classes, see the plugins below.
- Add calcResolutionForDistance and calcDistanceForResolution functions to Camera API
- Add ol.layer.Group synchronization
- Port to OpenLayers 4.4.2 and Cesium 1.38.
- Allow features to specify a dedicated geometry for rendering in Cesium
using the
- Changes
- Port to OpenLayers 4.3.2
- Port to Cesium 1.37
- Update OpenLayers to v4.3.1 to fix openlayers#479
- Get OpenLayers and Cesium dependencies through npm instead of git submodules. On old clones you must remove manually the unused "ol" and "cesium" directories.
- Switch to @camptocamp/closure-util fork to allow using goog.modules.
- Switch to @camptocamp/cesium to allow examples based on vector tiles and advanced performance optimizations.
- Changes
- Port to Cesium 1.36. This fixes blinking of the vector example openlayers#465.
- Changes
- Port to OpenLayers 4.2.0.
- Lint the examples with the same rules as the rest of the code, making it necessary to display the examples using an ES6-capable browser.
- Port to Cesium 1.35.2.
- Changes
- Port to Cesium 1.34.
- Use all the styles defined for a feature.
- Display geometries coming from style (using getGeometryFunction()).
- Changes
- Port to OpenLayers 4.1.1.
- Port to cesium 1.33.
- Changes
- WMTS OpenLayers layers are now automatically converted to Cesium layers.
- Port to Cesium 1.32.
-
Breaking changes
- Stop returning promise from olcs.core.rotateAroundAxis function.
-
Changes
- Port to Cesium 1.31.
- Add example rotate.html about animating rotation of the Cesium globe.
- Convert source to Ecmascript 6. Continue to output Ecmascript 5.1.
- Changes
- For npm.
- Changes
- Final rename and publication of the project as a new npm project.
- Changes
- Renamed project to OL-Cesium following the renaming of the OpenLayers3 project. In existing clones, do: git submodule sync git submodule update --recursive --init rm -rf ol3 make cleanall Note that the distributed js file is olcesium.js
- Changes
- Clamp line to the ground using Corridor geometry (experimental feature).
- Port to Cesium 1.30.
- Port to OpenLayers 4.0.1.
- Changes
- Port to Cesium 1.29.
- Port to OpenLayers 3.20.0.
- Changes
- Port to Cesium 1.28.
- Add OLCesium.setTargetFrameRate to enforce an fps limit for Cesium.
- Add OLCesium option
time
to control the current time passed to Cesium.
- Changes
- Add olcs.OLCesium.trackedFeature property to make Cesium automatically track an OpenLayers point feature. When active, the Cesium camera will follow changes of the feature position. This requires using stacked view.
- Port to OpenLayers 3.19.1.
- Port to Cesium 1.27.
- Changes
- Port to Cesium 1.25.
- Port to OpenLayers 3.18.2.
- Changes
- Require node 4 or 6.
- Port to Cesium 1.24.
- Changes
- Port to Cesium 1.23.
- Port to OL 3.17.1 (include OL3 typedefs.js and rename some symbols).
- In examples, use OSM instead of obsolete MapQuest tiles.
- Changes
- Port to Cesium 1.22.
- Add olcs.core.convertUrlToCesium function to help convert OpenLayers urls to Cesium.
- Handle arbitrary line widths on Windows OS.
- Changes
- Switch to eslint.
- Update npm dependencies.
- Port to Cesium 1.21.
- Port to OL 3.16.0.
- Add support for drawing rectangles according to the longitude and latitude curves instead of straight lines. This functionality can be activated by setting the olcs.polygon_kind property to 'rectangle' on the OpenLayers geometry.
- Add support to set a proxy for Cesium to load layer not accessible due to missing CORS headers (eg. when user can't modify configuration of the mapservice used). This functionality can be activated by setting the olcs.proxy property to the OpenLayers source.
- Changes
- Use fast pixelated canvas scaling on supported browsers. See PR 3288 / commit 322df7b in Cesium. On unsupported browsers, render at full resolution (slow).
- Port to OL 3.15.1.
- Port to Cesium 1.20.
- Changes
- Accept a mode=dev parameter in examples to ease debugging.
- Port to OL 3.14.2.
- Port to Cesium 1.19.
- Changes
- Port to Cesium 1.18.
- Port to OL 3.14.0.
- Breaking changes
- Remove dragbox functionality due to the removal of the Cesium.RectanglePrimitive by upstream. See the commit message for hints about how to reimplement it.
- Remove Cesium.RectanglePrimitive, Cesium.PerspectiveFrustrum.getPixelSize, Cesium.OpenStreetMapImageryProvider from Cesium externs.
- Changes
- Port to OL 3.13.0.
- Port to Cesium 1.17.
- Changes
- Port to Cesium 1.16.
- Port to OL 3.12.1
- Breaking changes
- OL3-Cesium is now compiled together with OL3. A custom closure compiler build is no more required.
-
Breaking changes
- Port to OL 3.10.1, remove saturation, gamma and hue functions.
- Change
olcs.AbstractSynchronizer.prototype.createSingleCounterpart
to return an array of counterparts instead of a unique object. This allows one OL3 layer to be transformed in several Cesium layers. - Rename
olcs.AbstractSynchronizer.prototype.createSingleCounterpart
toolcs.AbstractSynchronizer.prototype.createSingleLayerCounterparts
. - Rename
olcs.RasterSynchronizer.prototype.convertLayerToCesiumImagery
toolcs.RasterSynchronizer.prototype.convertLayerToCesiumImageries
.
-
Changes
- Add
olcs.OLCesium.setResolutionScale
to allow improving performance at the cost of quality. - Automatically use device pixel ratio to configure the Webgl 3D globe.
- Add the experimental method
olcs.OLCesium.enableAutoRenderLoop
to stop rendering the globe when idle. This is based on work from Kevin Ring. - Port to Cesium 1.14.
- The
olcs.AbstractSynchronizer
now tries to synchronize the layer groups. Only if null is returned will it synchronize each of its children. This allows more synchronization strategies in user applications.
- Add
-
Breaking changes
- Rename
olcs.core.OlLayerPrimitive
toolcs.core.VectorLayerCounterpart
and stop inheriting fromCesium.PrimitiveCollection
. The underlying primitive collection may be retrieved with thegetRootPrimitive()
method.
- Rename
-
Changes
- Port to Cesium 1.13 and OL 3.9.0.
- Allow blocking Cesium rendering to save resources using
olcs.OLCesium#setBlockCesiumRendering(true)
. - The
build/generate-info.js
tool now follows symlinks to properly generate exports. olcs.RasterSynchronizer.prototype.convertLayerToCesiumImagery
may be overriden. As usual, subclassing requires that the subclass and the library code be compiled together by Closure. This change notably allows application code to handle projections not supported by Cesium.- Allow application developers to easily compile plugin code together with the library by putting their files in the src/plugins directory. See src/plugins/README.md for details and instructions.
- Allow lazy loading of the Cesium script (experimental feature).
- Port to Cesium 1.12 and Ol 3.8.1
- Breaking changes
- The layer is now passed to the conversion methods of
ol.FeatureConverter
. - The feature is now passed to the conversion methods of
ol.FeatureConverter
. - The
olcs.core.olVectorLayerToCesium()
function now takes ascene
parameter. Theolcs.core.OlLayerPrimitive
constructor now takes ascene
parameter. - Core static functions for converting from OL3 features to Cesium primitives
have been moved into a class designed for inheritance.
The
olcs.FeatureConverter
may be extended and passed as a parameter of theolcs.VectorSynchronizer
constructor. See the synchronizer function parameter of theolcs.OLCesium
constructor. Subclassing requires that the subclass and the library code be compiled together. One way of migrating existing code is to define a global variable:app.converter = new olcs.FeatureConverter({scene: scene});
and call the methods through it:app.converter.olLineStringGeometryToCesium()
.
- The layer is now passed to the conversion methods of
- Set reference to the OpenLayers feature and layer to all created Cesium primitives.
- Compiled code may override the new
olcs.FeatureConverter.csAddBillboard
method in order to manipulate the option before the Cesium billboard is actually created. - The layer is now stored together with the feature in the Cesium counterpart.
They may be retrieved using
pickedCesiumPrimitive.olLayer
andpickedCesiumPrimitive.olFeature
. - Position point geometries on terrain.
With 2D coordinates, use
pointFeature.getGeometry().set('altitudeMode', 'clampToGround')
. With 3D relative coordinates, usepointFeature.getGeometry().set('altitudeMode', 'relativeToGround')
. - Port to Cesium 1.10.
- Port to Cesium 1.9 and Ol 3.5.0
- Port to Cesium 1.8 and Ol 3.4.0
- Mark
olcs.RasterSynchronizer
@api
- Breaking changes
- The
enable
argument toolcs.OLCesium#setEnabled()
is no longer optional.
- The
- Port to Cesium 1.7.1 and Ol 3.3.0
- Port to Cesium 1.6 and Ol 3.2
- Breaking changes
- The
olFeatureId
has been removed from the picked Cesium counterpart. Use directlyolFeature
as illustrated in the synthetic vector examples. - The
olcs.OLCesium
constructor signature has changed. Usenew olcs.OLCesium({map: map, target: target});
instead ofnew olcs.OLCesium(map, target);
- The
- Custom synchronizer function may be passed to the OLCesium constructor
- Core functions for implementing custom 2D-3D transitions à la Google Map
- Store the
ol.Feature
in the Cesium counterpart instead of an id. Useprimitive.olFeature
to read it after picking. See the synthetic vector examples. - Allow 3D warmup while displaying the 2D map