Tom Payne
1f460975bb
Port WebGL texture cache to ol.structs.LRUCache
2013-02-04 18:37:12 +01:00
Tom Payne
06eb3040af
Port ol.TileCache to ol.structs.LRUCache
2013-02-04 18:37:12 +01:00
Tom Payne
c99ec2d834
Add ol.structs.LRUCache
2013-02-04 18:37:12 +01:00
Éric Lemoine
bde61a0b4b
Simplify control architecture
2013-02-04 10:18:33 +01:00
Frederic Junod
6675de437f
Handle projection change in ol.Geolocation
2013-02-04 09:46:31 +01:00
ahocevar
43dd9ca68c
Don't use unshift
2013-02-02 12:29:08 +01:00
Frederic Junod
38f245c5c8
Add projection property to ol.Geolocation
2013-02-01 13:53:55 +01:00
Frederic Junod
37e172f043
Add missing export file for ol.Geolocation
2013-02-01 13:50:43 +01:00
Frederic Junod
035f487dc5
Add ol.Geolocation
2013-02-01 11:10:17 +01:00
Tom Payne
93976a5d9f
Fix requires relating to recent commits
2013-01-30 23:47:13 +01:00
Tom Payne
e6eb401e36
Add missing goog.requires
2013-01-30 23:47:13 +01:00
Tom Payne
6e247d9331
Rename modules for support detection
2013-01-30 22:48:03 +01:00
Tom Payne
b6f856f962
Remove unused goog.requires
2013-01-30 22:48:03 +01:00
ahocevar
9a0f509a94
Use objects instead of arrays for geometry type cache
...
Also trying to reference features directly here instead of
storing feature ids in the index. We'll see if this is good when
we have an index for tile coords as well and want to filter
with multiple filters, accessing multiple indices.
2013-01-30 18:03:27 +01:00
ahocevar
e61c26830e
Manage tile cache
...
This change implements a LRU policy for tile cachint, and keeps
128 tiles in the cache by default.
2013-01-30 17:09:43 +01:00
ahocevar
1ecbc36a39
Merge branch 'master' of github.com:openlayers/ol3 into vector
2013-01-30 15:54:24 +01:00
Bruno Binet
a64e4ae579
Merge pull request #164 from bbinet/kinetic
...
Add support for kinetic effect while dragging
2013-01-30 06:26:01 -08:00
Bruno Binet
d2f30986db
Set kinetic getDuration instance method to @private
2013-01-30 14:46:49 +01:00
Bruno Binet
dff8c2b2b2
Renaming to be more consistent with ol3 style
...
s/v_0/initialVelocity/
s/v_min/minVelocity/
2013-01-30 14:46:49 +01:00
Bruno Binet
d91e1d30d4
Get rid of binarySelect to find the first point.
2013-01-30 14:46:49 +01:00
Bruno Binet
79849888db
Kinetic now returns directly the pre-render function
...
instead of returning the kinetic easing function only.
(thanks @fredj)
2013-01-29 15:34:11 +01:00
Bruno Binet
2bb8a5cfd9
Stop current kinetic animation on DOWN events
2013-01-29 14:32:38 +01:00
Éric Lemoine
773e34d736
Merge pull request #165 from elemoine/classname
...
Change class names in DOM renderer
2013-01-29 04:02:18 -08:00
Bruno Binet
39cbba3eb7
Add a frameState property to ol.MapBrowserEvent
...
so that we will be able to retrieve the current center of the view2d from the
framestate in the dragpan interaction.
2013-01-29 13:00:02 +01:00
Bruno Binet
d54864695d
Add a removePreRenderFunction method to ol.Map
...
This will remove the pre-render function from preRenderFunctions_ array if
found.
2013-01-29 12:56:15 +01:00
Bruno Binet
7d0b4c757e
Activate kinetic effect by default
2013-01-29 12:39:52 +01:00
Bruno Binet
8a9738d755
Add support for kinetic effect while dragging.
...
Only dragpan interaction is supported for now.
The kinetic effect use the maths below (thx @twpayne):
Rate of decay (number, must be negative) = α
Minimum velocity (pixels/millisecond) = v_min
Initial velocity (pixels/millisecond) = v₀
Velocity at time t (pixels/millisecond) =
α⋅t
v₀⋅ℯ
Distance travelled at time t (pixels) =
⎛ α⋅t ⎞
v₀⋅⎝ℯ - 1⎠
─────────────
α
Duration of animation (milliseconds) =
⎛v_min⎞
log⎜─────⎟
⎝ v₀ ⎠
──────────
α
Total distance travelled (pixels) =
-v₀ + v_min
───────────
α
Easing function =
⎛ α⋅duration⋅t ⎞
v₀⋅⎝ℯ - 1⎠
──────────────────────
-v₀ + v_min
2013-01-29 12:39:52 +01:00
Frédéric Junod
47fbdb53e2
Merge pull request #167 from fredj/mapbrowserevent-listen
...
Listen to all ol.MapBrowserEvent events
2013-01-29 03:15:19 -08:00
Frederic Junod
a980de7830
Listen to all ol.MapBrowserEvent events
2013-01-29 11:29:27 +01:00
Tom Payne
2e401b43f4
Make attribution control unselectable
2013-01-29 11:21:57 +01:00
Tom Payne
d22c441795
Merge pull request #162 from twpayne/canvas-visibility-and-opacity
...
Canvas visibility and opacity
2013-01-29 02:20:39 -08:00
Éric Lemoine
0c25aa95ea
Merge pull request #166 from elemoine/extracomma
...
Change a comma to a semi-colon (thanks @bbinet)
2013-01-29 01:34:23 -08:00
Éric Lemoine
713828d953
Change a comma to a semi-colon (thanks @bbinet)
2013-01-29 10:33:35 +01:00
Éric Lemoine
8713e84821
Change class names in DOM renderer
2013-01-29 10:24:25 +01:00
Tom Payne
3bd1b92b05
Promote renderFrame from ol.renderer.*.LayerRender to ol.renderer.LayerRenderer
2013-01-28 19:56:57 +01:00
Tom Payne
5558d6108c
Promote handleLayerRendererChange from ol.renderer.webgl.Map to ol.renderer.Map
2013-01-28 19:56:56 +01:00
Tom Payne
49734de240
Promote dispatchChangeEvent from ol.renderer.webgl.Layer to ol.renderer.Layer
2013-01-28 19:56:56 +01:00
Tom Payne
4701d117f7
Always dispatch change events on load/opacity/visible changes
2013-01-28 19:56:56 +01:00
Frédéric Junod
eb103d3bd1
Merge pull request #160 from fredj/dblclick-unlisten
...
Remove event listener cleanups
2013-01-28 04:19:24 -08:00
Éric Lemoine
1d2551dbcb
Do not draw image if image is null
2013-01-28 12:41:46 +01:00
Frederic Junod
f8646394ae
Remove event listener with goog.events.unlistenByKey
2013-01-28 10:37:32 +01:00
Frederic Junod
9e030854b2
Don't remove event listener for this.handleUp_ twice.
...
The listener key is in this.dragListenerKeys_
2013-01-28 10:31:24 +01:00
Frederic Junod
01098c4d8c
Remove event listener with goog.events.unlistenByKey
2013-01-28 10:26:09 +01:00
Frederic Junod
f208e99c64
Add missing goog.events.EventType.DBLCLICK argument to unlisten
2013-01-28 09:54:41 +01:00
Frederic Junod
43fe004917
Add a comment about msTouchAction css on viewport
2013-01-25 17:37:04 +01:00
ahocevar
65b3bb70a1
Some optimizations
...
* Tiles are now cut out of the sketch renderer in a separate
pass. This ensures that point features at tile borders appear
at both sides of the border. However, if such features get
added in a later tileRange rendering pass, tiles from a
previous rendering pass will still not have that feature.
* The tile canvas is only created once, and cloneNode(false) is
used to get a canvas for a new tile.
2013-01-25 16:46:12 +01:00
Frederic Junod
9c794d8b00
Direct all pointer events to js code (IE pointer events).
...
see: http://msdn.microsoft.com/en-us/library/ie/hh673557(v=vs.85).aspx
2013-01-25 16:38:45 +01:00
Frederic Junod
bf63ddfebe
Test if browser supports Windows Pointer events
2013-01-25 16:38:45 +01:00
Tim Schaub
a7737150fe
Merge branch 'master' of github.com:openlayers/ol3 into vector
2013-01-24 22:21:25 -07:00
Tim Schaub
4e3f984796
Properly rendering features to canvas tiles
...
It looks like this approach will work well for panning (as anticipated). For animated zooming, it is not going to work as is. It looks like the canvas tile generation is too much for this type of animation loop. Though there are clearly still areas for optimization:
* Don't create new tiles while animating between zoom levels. Using existing tiles only while animating should bring a significant performance gain.
* Simple spatial index for tiles - each tile coord in the matrix could have a feature lookup object (keyed by id). This needs to account for rendered dimension (as witnessed by the point being cut by a tile). Given that the current example uses only three features, adding the spatial index should only be a minor improvement.
* Reuse a fixed set of canvas tiles that are generated at construction (and increased/decreased with view size changes).
* If a fixed set of tiles is not used, at least new ones could be cloned from existing ones (minor).
* Do some profiling to look for more ideas.
In addition, world-wrapping needs addressed. I don't think this renderer is the right (or at least the only) place to address this. And the cache of tiles needs to be managed for real. But hey, at least we've got a working tiled vector renderer now.
2013-01-24 21:57:12 -07:00