Commit Graph

7755 Commits

Author SHA1 Message Date
É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
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 bde61a0b4b Simplify control architecture 2013-02-04 10:18:33 +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