Commit Graph

7753 Commits

Author SHA1 Message Date
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
Tom Payne
c884a916bf Merge pull request #178 from twpayne/clean-example-list-xml
Ensure ./build.py -c cleans examples/example-list.xml
2013-02-07 05:27:20 -08: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
Frédéric Junod
9c9fe4a9b1 Merge pull request #181 from fredj/rotation-anim
Replace ol.animation.createSpin with ol.animation.createRotateFrom
2013-02-06 08:39:22 -08: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
Tom Payne
91141f5c01 Build precommit target by default so precommit dependencies get cleaned by default 2013-02-06 11:25:15 +01:00
Tom Payne
90730e40a3 Ensure ./build.py -c cleans examples/example-list.xml 2013-02-06 11:23:04 +01:00
Tom Payne
0c205da290 Merge pull request #176 from twpayne/lru-cache
LRU Cache
2013-02-06 01:15:04 -08: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
Tim Schaub
0c48fbd188 Check sooner and only assert if duration hasn't passed 2013-02-05 10:50:18 -07: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
f735a597fe Merge pull request #171 from elemoine/testdeps2
Use namespaces for tests
2013-01-31 02:02:33 -08:00
Éric Lemoine
bd2ab93e9e Merge pull request #172 from elemoine/missingvar
Missing var's in a test file
2013-01-31 02:01:55 -08:00
Éric Lemoine
bfb6d0ca87 Missing var's in a test file 2013-01-31 11:01:06 +01:00
Tom Payne
4f1d3c5201 Merge pull request #169 from twpayne/check-requires
Fix use of goog.requires
2013-01-31 01:36:32 -08:00
Éric Lemoine
b6ed5f2164 Use namespaces for tests
With this commit test files provide namespaces (using goog.provide). This fixes the issue reported by @bartvde where goog objects cannot be used in Jasmine "describe" functions. It also frees us from having to add script tags for the test files in test/ol.html.
2013-01-31 10:18:21 +01:00
Tom Payne
93976a5d9f Fix requires relating to recent commits 2013-01-30 23:47:13 +01:00
Tom Payne
f9eb7dc477 Add missing requires to examples 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
c9e8a92265 Detect missing goog.requires 2013-01-30 22:48:04 +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
Tom Payne
7d5cc39555 Detect 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
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