Skip to content

Releases: iTowns/itowns

Release v2.9.0

01 Apr 13:16
Compare
Choose a tag to compare

2.9.0 (2019-04-01)

Features

  • core: add Extent.copy(extent) (786d853)
  • core: add Extent.expandByValues (efeec80)
  • core: add function to copy and transform Extent (a2bdabf)
  • fetcher: add a multiple method to load a bunch of files (6c616d7)
  • FirstPersontControl: enabled: a boolean used to enable or disable this control (cf4f495)
  • parser: add a simple Shapefile parser (de42db7)
  • StreetControls: enabled: a boolean used to enable or disable this control (6ee3d7f)

Performance Improvements

  • converter: add extent checks in Feature2Texture (e2f0c93)

BREAKING CHANGES

  • Extent.crs() and Extent._crs, Extent.west(), Extent.east(), Extent.south() and Extent.north() are replaced by Extent.crs and getter Extent.west, Extent.east, Extent.south and Extent.north.
  • The Function Extent.extentParent has renamed to Extent.tiledExtentParent.
  • The Function Extent.expandByPoint has renamed to Extent.expandByCoordinates.
  • Remove PanoramaView, PanoramaLayer, StaticSource and PanoramaTileBuilder.

Bug Fixes

  • 3dtiles: enable draco loader for b3dm (a4c442a)
  • 3dtiles: fix batch table support, for null object. (a0408ad)
  • chore: prepare 'Three js examples' didn't export all functions. (ce7a6d2)
  • controls: check if targetOrientation is defined in travel of planarControls. (b8a1328)
  • controls: fix of removeEventListener in GlobeControls.dispose. (fe7bf07)
  • controls: fix ORBIT touch event making North down. (0d6ab33)
  • core: event target change doesn't trigged with little change (bf2e54e)
  • core: wrong default parameter in OBB.setFromExtent (d1a3bed)
  • debug: add a check if folder already exists (f9d0245)
  • example: fix Geoportail stream for administrative boundaries (97d5eb1)
  • example: undefined value to enable realistic atmosphere (af7714f)
  • examples: dilate extent to Region WMS to show entire data. (08189fc), closes #1067
  • examples: refresh debug gui with correct color status. (b91b017)
  • FirstPersonControls: add boolean isFirstPersonControls (a21235b)
  • process: bad calling of window.setTimeout (60c61e4)
  • process: pass, through the command, the parsedData attached to textures (eb8c1ba)

Code Refactoring

  • convert: in convert to tile mesh separate init tile from layer (5455da8)
  • core: add zoom to each extent of tile (7475a3f)
  • core: compute ColorLayers sequence order only one time, in tileLayer.preUpdate (2610963)
  • core: Extent to Es6 class (cf18241)
  • core: remove spread syntax in Extent (e8525ae)
  • layer: use layer.projection to add MaterialLayer and move colorLayersOrder in tileLayer (b89d678)
  • process: add default time Stamp parameter to LayerUpdateState.canTryUpdate. (7e6f25e)
  • process: extract common functions in layered material processing. (2bdc27d)
  • provider: make DataSourceProvider more modulable (4152104)
  • three: remove all instanceof THREE.* (bb19d1b)

examples

  • stream: Add stream from Geoportail (Cassini, Etat Major and Top25) (beaeb7c)
  • update examples using FileSource (b8686ff)

Tests

  • add extent tests (ed06704)
  • provider: add two new tests for FileSource (d4dcfda)

Chores

  • add draco library in examples/libs (4ac4818)
  • docs: add generation of each property type in typedef (f0b0eab)
  • docs: add generation of return description for methods (997c14c)
  • clean some useless things (70af947)
  • remove PanoramaView, PanoramaLayer, StaticSource and PanoramaTileBuilder. (e977f30)
  • update to Three r102.1 (d3ff2d3)
  • examples: clean eslintrc (8e98262)
  • upgrade packages after new release 2.8.0 (d22f12c)

Release v2.8.0

01 Mar 16:00
Compare
Choose a tag to compare

2.8.0 (2019-03-01)

Features

  • core: support metric unit to convert Extent to Obb (8f850fc)
  • 3dtiles: add 3D Tiles extension support (92f4aba)
  • 3dtiles: implement 3DTILES_batch_table_hierarchy extension (0f4d3f7)
  • 3dtiles: update batch table support (bc01f50)
  • example: Add an example demonstrating 3D Tiles batch table hierarchy extension management (262ceae)
  • parser: add a kml parser and modify gpx parser (ba4a174)
  • StreetControls: add click and go, surface helpers, click and look at, tweens animations : (ca4f8d5)
  • TileMesh: add a boolean to know if it's a TileMesh or not, without doing an instanceof (287b914)

BREAKING CHANGES

  • parser: GpxParser doesn't return a THREE.Mesh anymore.

Code Refactoring

  • core: extend Atmosphere from GeometryLayer (75206b3)
  • debug: remove useless traverse nodes to select them (50565f5)
  • debug: use GeometryLayer for debug Layer (02f5db4)
  • examples, tests: factorize 3d tiles examples and tests common helpers (5c5749a)

Documentation

  • add generation of typedefs in the documentation (3c9a438)
  • 3dtiles: expose documentation of 3D Tiles related classes (a9066e3)

Chores

  • docs: add eslint check for jsdoc scripts (a610c95)
  • fix 'npm ci' when it prints npm version. (555921b)
  • remove useless global directive (353bbb7)
  • update packages (f4c0742)
  • core: remove useless condition (9907641)
  • core: useless condition to parse xbil data (04683f6)
  • core: useless return (0bff6f5)
  • docs: Local variable 'tutorials' is not used (b9cb452)
  • docs: required module component 'taffy' is not used (b0013d1)
  • test: rename test/examples to test/functional (21dd2c5)
  • update THREE.js to r101.1 (ce002f7)
  • 3dtile: useless variable assignment (23b9bd7)
  • tests: remove useless littleEndian parameter for UInt8 (0926dcf)
  • Required module component 'patchedPath' is not used. (dd494c6)

example

  • immersive: add debug UI, and change the name of 'WFS buildings' layer to 'Buildings', and increase background radius from 80 to 1 200 (89fef54)
  • 3D Tiles: reduce padding of 3D Tiles examples feature info div (7fcb3b2)

Tests

  • example: add tests for 3D Tiles batch table hierarchy extension example (d7bb4eb)

Bug Fixes

  • core: error in condition to get difference between camera transformation (a536e9a)
  • core: forgotten Extent instantiation in projection convert (349e2df)
  • core: problem with debug layer because PanoramaView haven't Atmosphere (195f506)
  • core: wrong handling error with the layer.id (e1c96c2)
  • example: change id building in wfs functional test (06555c2)
  • example: update the gpx example to create directly meshes in it (4d6febc)
  • gpx: waypoint are scaling correctly (05bfc52), closes #1045
  • security vulnerability in lodash (c27e220)
  • core: remove condition on scheduler singleton (3784d10)
  • examples: forgotten variable declaration (f7c72f5)
  • examples: wrong altitude for buildings in immersive paris example. (8b79e1f)
  • OrientedImageCamera: increase default far from 1000 to 10 000. (bc057cc)
  • OrientedImageMaterial: it supports opacity. (710a970)
  • process: fix and unify calls to window.setTimeOut (e88480e)
  • source: wrong handling error with file (a558e2e)
  • view: picking: Add a log warning when user try to pick on a layer not ready. (4803371)

Release v2.7.1

01 Feb 16:15
Compare
Choose a tag to compare

2.7.1 (2019-02-01)

the important features in this version

  • OrientedImageLayer to display immersive view with oriented images and StreetControls to navigate inside. See example Immersive Paris.
  • Function removeLayer to remove color, elevation and geometry layers from viewer.

Features

  • controls: Street controls, to move the camera from a point to another point. (67eea6c)
  • converter: add batchId attribute in mesh from convert of feature2Mesh (e54a44a)
  • core: function get layer by Id (af2d582)
  • core: function removeLayer to remove color, elevation and geometry layers from viewer (6b772ed), closes #906
  • OrientedImageLayer: add the previous pano position to the onPanoChanged event. (27e825e)
  • OrientedImageLayer: Specific layer to show oriented images. (4a9b57f)
  • parser: add option to override altitude incoming (from source) by 0. (c3a1f43)
  • parser: add the possibility to specify parser (e7e9c5e)
  • StreetControls: add a previousPosition, binded on key S, to move camera to previousPosition. (3fa4b18)
  • StreetControls: The user can now change key binding (e64828e)
  • wms: enable vendor specific parameters (b8a9c9c), closes #959

Bug Fixes

  • 3dtiles: region extent is treated as an OBB (4339851)
  • controls: Fix key in FirstPersonControl, remove prevent default. (33aee47)
  • core: avoid to access to DOM properties (c64ff59), closes #140
  • core: fix delete OrientedImageLayer (46f5de2), closes #1018
  • core: missed layer to layer.source (5099a8a)
  • core: wrong Z min and max to compute tile's obb (a7a4e84)
  • gui: Fix GUI debug color layer and elevation layer (b0b4c6c)
  • loop: Add a preUpdate call for attached geometry layers (877c623)
  • test: reduce displayed tiles count because of the improvement horizon culling (a96a63a)
  • utils: wrong filtering with filterFeaturesUnderCoordinate (48745d4)
  • security vulnerability detected in webpack-dev-server (18756fc)
  • windows install no more backslash (3a1964b)
  • example: 3dTile, change ortho image layer source to openSM data, to avoid many warnings. (d14aadd)
  • example: Immersive example, update camera projection matrix. (0d158d1)
  • example: Improve performance on immersive example. (1f8323f)
  • example: wrong filtering to get layer with FileSource (a82ebbc)
  • example: wrong altitude for buildings in immersive paris example. (8b79e1f)
  • example: wrong properties in layers json files (50ec664)
  • example: wrong property to filter layers by type (e135e92)

Chores

  • example: update jsonlayers url to https (26b1d04)
  • check node version to prevent error in THREE examples installation (eae303c)
  • update and rewrite contents in README and other .md files. (185ef25)
  • docs: add a README concerning the documentation of itowns (fc804b9)
  • check PUPPETEER_SKIP_CHROMIUM_DOWNLOAD to warn user (5c26437)
  • remove useless propocol properties (8d0976b)
  • upgrade packages npm (149208c)
  • upgrade to THREE r100 (daba997)
  • lint: remove max-length parameter for testing examples (dade5fe)

Code Refactoring

  • core: improved results and performance of the culling horizon (0692c05)
  • core: issue #1011 question about the usefulness of the test on precision altitute (555e40d)
  • core: update preSSE view only when it's needed (f3d9df7)
  • core: update size view only when it's needed (59204c8)
  • core: update view Matrix view only when it's needed (29fa985)
  • example: use batchId attributes to pick buildings (c1a32be)
  • layer: replace all layer.type by layer.isLayer (6d017a5), closes #951

Documentation

  • StreetControls: update doc for key code properties (fcdd0cb)

Examples

  • immersive: Example Immersive Paris. (5ef1d02)
  • immersive: update to manage previous pano key binding (c891b11)

Tests

  • add new tests for camera (9a40a5e)
  • add tests on View.removeLayer with ColorLayer, ElevationLayer and GeometryLayer (846ea34)
  • disable default node warning regarding event listeners (a4028ff)
  • pick feature from Layer with SourceFile (b998fce)
  • trap console errors when an example page is loaded (73458ec)

Release v2.6.0

01 Feb 16:39
Compare
Choose a tag to compare

2.6.0 (2018-12-19)

Features

  • OrientedImageMaterial: Material used to compute projective textures. (bd737eb)
  • fetcher: add the possibility to specify fetcher (83ab9e1), closes #954
  • layer: add isXXXLayer properties to layers objects (41933f4)
  • view: add support for a coordinate when creating a GlobeView (6947b78)
  • debug: add sse helper on tiled geometry layer (f4a8afe)

BREAKING CHANGES

  • source: Sources as instance. see a example
  • source: the origin property of TMSSource has been replaced by a
    boolean, isInverted, that serves the same goal, but using a boolean.
  • source: the protocol property no longer exists, instead to test
    the type of Source, one needs to use the property isSource, adapted to
    each type: for example, isWMTSSource tells if the source is WMTSSource.
  • core: Computing screen space error is changed, so tile subdivision are different.
  • renderer: the API of TileMesh and LayeredMaterial have changed.
  • renderer: LayeredMaterialConstants and RendererConstant have
    been removed.
  • layer: layer.options.mimetype is no longer supported, use
    layer.format instead

Deprecating

  • layer: deprecate adding a layer with only a configuration (fd36d3b)
  • source: deprecate adding a source with only a configuration (0f7ca09)

Code Refactoring

  • renderer: LayeredMaterial splitted and simplified (810a756)

Bug Fixes

  • 3dTilesDebugUI: Fix view.notifyChanges. (eec5ec5)
  • core: implement preSSE once and fix the formula (958f124)
  • core: wrong parameter in dichotomy strategy. (4df0540)
  • debug: disable fog with camera debug rendering (a5169c9)
  • doc: wrong includes in doc configuration (326722f)
  • examples: fix a bad merge in planar_vector (29d899f), closes #926
  • examples: fix the debug menu in oriented_images (7dffe9e)
  • examples: forgotten color layers in examples (72e1598)
  • examples: instantiate sources for index.html example (3019ce4)
  • examples: wrong layer id for picking (e8494a9)
  • examples: wrong menu position in 3dtiles (29f62ba)
  • FirstPersonControl: Fix a bug introduced in #881. Before this change, this controls was going up when we pressed key up instead of going forward as expected. Now it goes forward again when we press key up. (f734985)
  • geometryLayer: wireFrame property change only affect This layer objects. Before this commit, it could also affect objects on attached layers (for example, bounding box from attached debug layers). fix #940 (7ffb31b)
  • layer: Add default convert function (2aedd17)
  • protocol: error while getting textures and zoom texture, for StaticSource (24d2aea)
  • test: wrong synchronization with elevation data and DEMUtils/CameraUTils (ad223ad)
  • utils: wrong steps up in hierachy to read altitude in DEM (fc3b50e), closes #936

Release v2.6.1

21 Dec 10:22
Compare
Choose a tag to compare

2.6.1 (2018-12-21)

Bug Fixes

  • core: stop calling unnecessarily WebGLUniforms.upload through uniformsNeedUpdate (c071721), closes #979
  • shader: remove unnecessary declarations of variables in some modes (f0f0e29)
  • example: move elevation options in elevation layer (9f66f3b)

v2.5.0

08 Nov 15:30
Compare
Choose a tag to compare

2.5.0 (2018-11-08)

Features

  • core: add information properties in Layer and TiledGeometryLayer (daa57a7e)
  • OrientedImageCamera: Camera extension for oriented images (56fc4a1)
  • parser: Camera calibration parser (f8e7753)

Inside

  • devDependencies Babel 7, webpack 4, Eslint 5

Bug Fixes

  • controls: remove THREE warning (8364c7a)
  • core: problem in runtime with bundle itowns and debug (f917be4)
  • core: remove useless console.info in animation (b6a5329)
  • core: wrong OBB from extent (d0aedf2)
  • FirstPersonControl: It now supports Globe view. (1eae7fe)
  • debug: error typo on obb properties (bb58aa7)
  • doc: wrong camera utils parameter in documentation (dfab6ae)
  • shaderUtils: use boundary delimiter in the regex (c62d9e0)
  • source: always build an extent in FileSource (375375e)
  • test: add node 10 build and remove node 11 build (11.0.0) for the moment (bcb1026)
  • test: enhancement bootstrap and globeControls test (da7b75e)
  • test: resolve fail test and cleanup boostrap (98ca430)

2.4.0

26 Oct 10:22
Compare
Choose a tag to compare

Resume

  • Partial support mapbox vector tile.
  • New architecture, add ColorLayer, ElevationLayer, GeometryLayer and GeometryTiledLayer. With the will, attach the associated processes to them.
  • Add source data concept. WMTS, WMS, they are considered sources. It's possible to combine all the types of layers (ColorLayer, GeometryLayer ..) with any sources.
  • Fix and re-factorization of GlobeControls.
  • Improved picking.
  • Add hole support to geojson to mesh and option to create a unique mesh or a mesh by feature.
  • Start support to oriented image. see example

Deprecated

  • createGlobeLayer is deprecated, use the GlobeLayer class instead.
  • createPanoramaLayer is deprecated, use the PanoramaLayer class instead.
  • GlobeControls.getCameraTargetGeoPosition has been deprecated, use GlobeControls.getLookAtCoordinate.
  • GlobeControls.setCameraTargetGeoPosition has been deprecated, use GlobeControls.lookAtCoordinate.
  • GlobeControls.setCameraTargetGeoPositionAdvanced has been deprecated, use GlobeControls.lookAtCoordinate
  • GlobeControls.setOrbitalPosition has been deprecated, use GlobeControls.lookAtCoordinate

BREAKING CHANGES

  • core GlobeControls.moveTarget is removed use GlobeControls.getCameraTargetPosition instead.
  • core: The providers RasterProvider, StaticProvider, TMSProvider, WFSProvider, WMSProvider and WMTSProvider are replaced by DataSourceProvider. You must add source option in your layer. see json layer files.
  • gis: ellipsoidSizes from Coordinates is no longer a function but an object.
  • Core: Before this change, view.addLayer was throwing some errors directly in
    some cases, and rejecting the promise in others. This replaces the
    former for the latter in all cases. If you relied on a try/catch block
    surrounding view.addLayer to catch some undocumented errors, you need
    to move your error handling code to your promise rejection handler.
  • core: this modify the signature of all picking functions.
  • core: the signature of Fetcher.texture has changed, and only return a promise now, instead of an object containing the texture and the promise.
  • core: c3DEngine.renderViewTobuffer has been renamed renderViewToBuffer
    and has a new signature.
  • core: change view.notifyChange signature and semantics
  • vector: GeoJSONParser now returns a Promise
  • core: layer.options.mimetype is removed in favor of layer.format.
  • core: a Provider needs to return a Promise every time after
    calling its executeCommand function.
  • core: Feature have on array of number to store the coordinates instead of array of Coordinates.
  • core: Upgrade to THREE v97.
  • examples: picking WFS (Geometry or color) changes see examples FeatureToolTip and wfs picking.

Features

  • controls: make event listeners opt-out for FirstPersonControls (5f20af6)
  • core: add a 'radius' parameter to picking methods (4b45651)
  • core: add a Cache system with expiration policy (cbf248a), closes #687
  • core: add a new VIEW.LAYERS_INITIALIZED event (e5ccfbb)
  • core: add vector tile loading (6411908)
  • core: implement layer priorities (985d051)
  • core: move url function outside providers (3aef9ca), closes #182
  • core: store Layer instead of layer's id (7a93779)
  • core: unify tilelayer in globeViewer, planarViewer and panoramaViewer (1e08030)
  • core: update to THREE v97 (fa81c64)
  • examples: add a loading screen for examples (7428478)
  • panorama: add projection type constant #677 (b94ae1a)
  • parser: add partial z support for geojson parsing (f0835f3), closes /tools.ietf.org/html/rfc7946#section-9
  • pointclouds: use 'changeSource' mechanism to avoid useless work (b67670a)
  • pointclouds: compute extent for pointclouds elements (#793) (a2f5950)
  • protocols: add Source (b04e83b)
  • protocols: add spatial hashing to StaticProvider (#675) (d4ec447)
  • renderer: add default background color to texture (01035ac)

Code Refactoring

  • core: change the return value of Fetcher.texture (592e8f8)
  • core: change view.notifyChange semantics (881013d), closes #4
  • core: improve render view to buffer / target functions (1b07ea6)
  • core: remove unused condition in Scheduler (43b76ef)
  • core: Harmonize the mimetype configuration (#597) (b38aa7b)
  • gis: change ellipsoidSizes from function to object (f681060)
  • vector: add hole support (a212dde), closes #688

Performance Improvements

  • protocols: decrease the count of network fetch image/xbil (b891a81)
  • protocols: improve performance in geojson parser
  • protocols: improve performance to convert feature to mesh or texture
  • renderer: stop creating new vector for each feature (#713) (b426336)

Bug Fixes

  • 3dtiles: apply matrixWorld to boundingVolume.box (7ae39eb)
  • 3dtiles: dont stop subdivision at tileset boundaries (bbf0a9b)
  • 3dtiles: fix pnts loading (c091b0d)
  • 3dtiles: simplify 3dtiles layer creation (ce9191c)
  • badge: fix typo for coverage badge (5319066)
  • chore: fix package_lock.json (152ac73)
  • chore: tag eslint config as root (f75aed9)
  • Coordinates: Concerning coordinate conversions, this commit fixes two bugs: (f3ce0fa)
  • core: assign the correct layer property (73f3592), closes #758
  • core: assume min level is 0 if not provided for dichotomy strategy (c9c93eb)
  • core: avoid clone vector to convert coordinate (06e3313)
  • core: Cache return mesh with null geometry (d1ba731), closes #869
  • core: chain animations stops after the first animation (d75ca7d)
  • core: compute globe fog distance after camera update (d65d4e6)
  • core: correct typo in event's name (97f1000)
  • core: delay FrameRequesters deletion to avoid breaking updates (139156d)
  • core: fix wrong 3dtiles's OBB using BuilderEllipsoidTile (ca6daf1), closes #656
  • core: fix wrong cachekey value equal to NaN in geometry building (8414a5d)
  • core: force the use of decimal notation in protocol requests (ed4d001)
  • core: make sure PlanarControls call notifyChange when needed (2989aea), closes #776
  • core: make sure VIEW_EVENTS.LAYERS_INITIALIZED if fired (1cb2fa1)
  • core: pass GlobeView options to GlobeLayer (dcb4830)
  • core: remove correctly event listener after...
Read more

2.3.0

27 Feb 14:05
Compare
Choose a tag to compare

Breaking change

  • The geodesic normal in the center of the tile's geometry is aligned with the mesh's local Z axis.
    Previously, the tiles were not oriented. their local landmark had the same orientation as the world landmark.
    You must take into account the orientation of the tile if you add objects to this tile.
  • For OSM color layers, user should use the xyz protocol instead of tms (reserved for "real" TMS layers, the difference between the 2 is the y origin)
  • update to major release THREE v0.89

Features

  • 3dtiles
    • add wireframe support for 3dTiles layer, and add wireframe checkbox to 3dTilesDebugUI, visible in the 3dTiles example (1a0d632)
  • core
    • add bounding sphere helper in debug mode (d1a5cd8)
    • add event to coordinates helpers (861114c)
    • re-enable three.js object sorting (fc1f3eb)
    • update to THREE v89 (97a0c90)
  • examples
    • add gui debug in planar in debug mode only (ccfede0)
  • wfs
    • Add a debug UI for geometry layer, to change visibility, opacity and toggle wireframe, material size and material linewith (89a05ef)

Performance Improvements

  • core
    • reduce to obb's highest points for horizon culling (2073699)
  • examples
    • increase performance in filtering the duplicates lines (f0d5948)
    • increase performance to compute altitude line (bef8b9e)
  • geometry
    • avoid useless computation for elevation layers (eece915)
  • protocols
    • increase performance to building features (4201967)

Bug Fixes

  • 3dtiles
    • fix the sphere bounding volume visualisation in debug mode (dc431e4)
    • SSE computation for spherical bounding volumes (e133a84)
  • controls
    • Fix typo in getBoundingClientRect (28a365b)
    • stop using originalTarget which mozilla-specific (bccf23b)
  • core
    • blending with premultiplied color to transparent color layer (b8062a3)
    • disable logdepthbuffer if EXT_frag_depth is missing (eb6da6d)
    • error to update OBBHelper (58ef581)
    • fix wrong calculation of the color of the sky (77c19ef), closes #652
    • handle near pos. in box3 visibility functions (628eeb3)
    • marked dependency is insecure version (b7c222f)
    • Prevent to subdivide for poor elevation level (60dccb5)
    • use parent extent transformation to compute tile's transformation (84f45ca), closes #668 #642
    • wrong building 3dTiles's OBB (20c9a90)
  • examples
  • gis
    • possibility to set tiled crs (a7d3422)
    • update proj4 to 2.4.4 (b8b8cf1)
  • GlobeControls
  • protocols
    • avoid to set points's count at zero (4f854e6)
    • determine the correct mimeType when using StaticProvider (d172dfe)
    • stop parsing unnecessarily xbil buffer (1f987ff)
    • wfs, adapt the mesh transformation with the tile space (776101a), closes #558
    • wrong OBB for 3dTile's region (c9e3098)
  • wfs
    • use bigger integer data type for indices array, for THREE.LineSegments. (133a85b)

2.2.0

18 Dec 09:40
Compare
Choose a tag to compare

2.2.0 (2017-12-15)

Breaking change

  • view.addFrameRequester signature changed, you now need to specify a hook point
    when registering them. The old behaviour is achieved with MAIN_LOOP_EVENTS.AFTER_CAMERA_UPDATE hook point (see MainLoop.js).
    So for instance, you should transform the following calls:

view.addFrameRequester(myFunc)-> view.addFrameRequester('after-camera-update', myFunc)
view.addFrameRequester(myObj) -> view.addFrameRequester('after-camera-update', myObj.update.bind(myObj)).

Note that we no more support object with update function, as it does not really make sense any more with several hook points).

See MainLoop.js for the full list of available hook points.

  • three.js and proj4 are now peer dependencies of the npm package. If you are not using the itowns.js bundle, you need to add them to your package.json's dependencies.

v2.1.0

15 Sep 15:21
Compare
Choose a tag to compare

Here is a somewhat complete changelog:

Core:

  • FrameRequester: module can now be notified at each animation frame.
  • Ability to reproject extent via Extent.as
  • DEMUtils, set of utility to read elevations

Format and protocol support

  • Point clouds from potree converter
  • 3dTiles: support for batch table, pnts and b3dm RTC.
  • WFS/geojson
  • GPX support greatly improved
  • Add a provider that generates 2D texture from vector datas (geojson, gpx and kml)

Layers:

  • options.zoom now takes precedence over configured tileMatrixSetLimits
  • It's now possible to specify another Object3D than scene to geometry layers to use when adding children.
  • add GeometryLayer.postUpdate method
  • Some helpers to ease the creation of planar and globe geometry have been added
  • Child layer now use parent's extent if it doesn't have one already

Controls:

Some new control examples:

  • PlanarControls
  • FlyControls
  • FirstPersonControls

It's now possible to instanciate the globe without using GlobeControls

Examples

In addition of examples for new protocol and format, here are the new showcases:

  • Mini-viewer for globe.html
  • Cube with elevation and color layers (cubic_planar.html)
  • A THREE mesh in an itowns scene (positionGlobe.html)
  • Splitted rendering (split.html)

Others

  • Countless bug fixes.
  • update THREE to 0.87