Commit Graph

1229 Commits

Author SHA1 Message Date
Éric Lemoine
daaff1611c Merge pull request #193 from elemoine/shaders
Apply transform matrix to text coords
2013-02-14 03:01:18 -08:00
Éric Lemoine
b6b493c198 Use vec2 for vTexCoord 2013-02-14 11:54:01 +01:00
Éric Lemoine
de7a1d8f81 Apply transform matrix to text coords
With this commit the transform matrix is applied to each texture coordinate, as opposed to each fragment. This leads to less calculation on the GPU.
2013-02-14 09:56:45 +01:00
Tim Schaub
f5c627ab51 Only listen once for tile events
Assuming browser garbage collection cannot happen while we have listeners in the global registry, we need to listenOnce to avoid memory leaks with the tile queue.
2013-02-13 15:37:33 -07:00
Frederic Junod
f4e9dd5c37 view.getRotation default value already set to 0. 2013-02-12 15:37:08 +01:00
Frédéric Junod
03b10204a4 Merge pull request #173 from fredj/geolocation
Add ol.Geolocation
2013-02-08 21:57:11 -08:00
Éric Lemoine
5f5e14f253 Merge pull request #175 from elemoine/control
Simplify control architecture
2013-02-08 14:56:19 -08:00
Tim Schaub
652b7dd696 Merge pull request #184 from tschaub/less-animation
Avoid unnecessary animation loop while tiles load
2013-02-07 15:48:28 -08:00
Tim Schaub
440ea038fe Merge pull request #183 from tschaub/natural-names
More natural names for animations
2013-02-07 13:44:13 -08:00
Tim Schaub
3c4d218ec5 Only listen for first event 2013-02-07 14:06:05 -07:00
Frederic Junod
a36145fc1f Check if the Geolocation API is supported 2013-02-07 16:20:15 +01:00
Frederic Junod
44a5eca437 Add ol.Geolocation.isSupported property 2013-02-07 15:59:12 +01:00
Tom Payne
218bf2c78b Improve LRUCache containsKey test, thanks @tschaub 2013-02-07 12:21:12 +01:00
Frédéric Junod
f7ba03f4dd Merge pull request #179 from fredj/kinetic-update-arg
Change ol.Kinetic.update and begin arguments.
2013-02-07 00:08:01 -08:00
Tim Schaub
e079c19413 Don't repeatedly render while waiting for tiles to load
Instead of going into an unnecessary animation loop, we can simply wait to be notified when tiles load.

The WebGL renderer still sets frameState.animate true, but I think this too should be unnecessary (full page example works without it, side-by-side example shows it cannot yet be removed).
2013-02-06 16:10:46 -07:00
Tim Schaub
2bd29ff60e Only track tiles that are actually wanted
Instead of keeping track of wanted tile ranges, we can instead track wanted tiles individually.  This provides enough for the map to know how to prioritize tiles and should be more efficient (no extra calls to extend tile ranges or check for tile containment within a range).
2013-02-06 16:08:24 -07:00
Tim Schaub
e335b7b74a Make frame state available before rendering frame
Without this change, tiles that are enqueued on the first rendering will always get priority `ol.TileQueue.DROP` because `map.frameState_` is not yet defined (meaning a single render call doesn't result in any tiles loading).
2013-02-06 16:02:26 -07:00
Tim Schaub
a2bbdf7ccc More natural names for animations 2013-02-06 13:43:54 -07:00
Tom Payne
0b6aeb5b05 Remove unused and erroneous function, thanks @tschaub 2013-02-06 21:43:48 +01:00
Frederic Junod
3355f9345d Replace ol.animation.createSpin with ol.animation.createRotateFrom 2013-02-06 17:10:21 +01:00
Frederic Junod
2fea469037 Change ol.Kinetic.update arguments.
Instead of goog.events.BrowserEvent, accept a x,y pair.
2013-02-06 12:55:15 +01:00
Tom Payne
3692918ed7 Remove unnecessary undercores, thanks @fredj 2013-02-06 12:50:34 +01:00
Frederic Junod
753b37ad47 Add 'undefined' return type for all get* functions 2013-02-06 11:00:55 +01:00
Frederic Junod
a679bb7bef Set handleProjectionChanged from protected to private 2013-02-06 10:59:18 +01:00
Tom Payne
b1df0cac65 Rename object properties so compiler can rename them 2013-02-06 10:08:03 +01:00
Tom Payne
c37837ba34 Use an object literal rather than a class for LRUCache entries 2013-02-06 10:08:03 +01:00
Tom Payne
c34fe519c0 Remove ol.structs.LinkedMap 2013-02-04 18:37:12 +01:00
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
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
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