Tom Payne
7b7ebb8609
Add missing "new"s in ol.structs.RBush
2013-12-12 13:01:25 +01:00
Tom Payne
2be40a1ae6
Add ol.structs.RBush#isEmpty
2013-12-04 15:05:43 +01:00
ahocevar
d4bdac715b
Get rid of ol.structs.RTree
2013-11-28 16:17:17 +01:00
Tim Schaub
1877f92d46
Add forEach method to rtree, use it in feature cache
...
This saves having to create feature lookup objects and iterate through lookup properties multiple times.
2013-11-27 12:22:33 -07:00
Tom Payne
5d3a5ae68e
Fix infinite loop bug in ol.structs.RBush
2013-11-27 15:10:18 +01:00
Tom Payne
f847b37261
Rename ol.structs.RBush#allInExtent to getAllInExtent
2013-11-27 15:10:18 +01:00
Tom Payne
828456d18e
Rename ol.structs.RBush#all to getAll
2013-11-27 15:10:18 +01:00
Tom Payne
978041b68c
Only activate ol.structs.RBush conflict checks when goog.DEBUG is true
2013-11-27 15:10:18 +01:00
Tom Payne
665781ee03
Throw an exception if an ol.structs.RBush is modified while reading
2013-11-27 15:10:17 +01:00
ahocevar
96c6cd0ab0
Documenting limitations of forEach and forEachInExtent
...
Because the tree's structure changes when nodes are inserted,
updated or deleted, no modifications are allowed in a forEach
loop.
2013-11-27 14:21:56 +01:00
Tom Payne
92469901f7
Clone extents in ol.structs.RBush to prevent modification
2013-11-26 12:03:00 -07:00
Tom Payne
880f098f0f
Add ol.structs.RBush#update
2013-11-26 12:02:59 -07:00
Tom Payne
7ec456fa70
Add FIXME
2013-11-26 12:02:59 -07:00
Tom Payne
1293294d40
Implement ol.structs.RBush#remove_
2013-11-26 12:02:59 -07:00
Tom Payne
b865a7c0e1
Don't check for under-full nodes when validating ol.structs.RBush
...
Removal can lead to under-full nodes.
2013-11-26 12:02:59 -07:00
Tom Payne
a76eba34e8
Add ol.structs.RBush#assertValid
2013-11-26 12:02:59 -07:00
Tom Payne
e823e7fde3
Add ol.structs.RBush
2013-11-26 12:02:59 -07:00
Tom Payne
353555f740
Use templates in ol.structs.PriorityQueue
2013-11-19 21:19:22 +01:00
Tom Payne
9d92b9ee37
Use templates in ol.structs.LRUCache
2013-11-19 21:19:22 +01:00
ahocevar
292b851a74
Adding ModifyFeature interaction
...
This is a first draft. The way geometry changes are handled for
now is a bit clumsy. Both updating the feature cache RTree and
making the layer aware of feature and geometry changes could be
handled in a smarter way if these changes would be made through
the layer instead of directly on the geometry or feature.
2013-11-13 00:44:36 +01:00
Frederic Junod
01cc19af80
More precise {function} jsdoc definition
2013-11-07 16:03:19 +01:00
Frederic Junod
3efc810ca9
Quote values in apidoc
2013-10-29 11:01:49 +01:00
Paul Spencer
bada596b45
Add default stability level to docs of exported things.
2013-10-24 18:20:24 -04:00
Tim Schaub
e806f51b3d
Changing extent structure back to single array: [minX, minY, maxX, maxY]
...
This means we'll have to have a new structure and new methods for 3D envelopes.
2013-09-15 00:31:32 -06:00
Tim Schaub
6955499534
Update rtree to use new extent structure
2013-09-14 21:11:52 -06:00
Tom Payne
0467222e46
Fix various type errors in ol.structs.RTree
2013-07-22 17:42:47 +02:00
Tom Payne
db2f805ed9
Return split values in a single interleaved Float32Array
2013-06-01 18:16:43 +02:00
Tom Payne
42f15f000b
Add ol.structs.Buffer#getSplit32
2013-06-01 18:16:43 +02:00
Tom Payne
7fd2e1ffca
Factor out ol.structs.Buffer#allocate
2013-06-01 18:09:29 +02:00
Tom Payne
bcf7707b01
Factor out ol.structs.Buffer#markDirty
2013-06-01 18:09:28 +02:00
Tom Payne
f4d54ace1d
Remove unused variables in structs
2013-05-28 16:01:34 +02:00
Tom Payne
a162b6fab3
Use empty extents and refactor for clarity
2013-05-25 20:39:55 -05:00
Tom Payne
18b1789512
Sort methods alphabetically
2013-05-25 19:50:44 -05:00
Tom Payne
d80ded31ee
Clean up some comments
2013-05-25 19:46:40 -05:00
Tom Payne
aaa4fec141
Move insert into method
2013-05-25 19:39:51 -05:00
Tom Payne
a871f29e75
Move remove into method
2013-05-25 19:35:59 -05:00
Tom Payne
ea1ee73392
Move search and searchReturningObject into methods
2013-05-25 19:33:46 -05:00
Tom Payne
32c663cf2c
Move more functions into private methods
2013-05-25 19:24:45 -05:00
Tom Payne
3cdb9f130b
Make minWidth and maxWidth private member variables
2013-05-25 18:27:38 -05:00
Tom Payne
476e35c276
Move makeMBR into private static function
2013-05-25 18:17:38 -05:00
Tom Payne
7f22455eed
Move squarifiedRatio into private static function
2013-05-25 18:14:52 -05:00
ahocevar
10e3a16f40
RTree API improvements and more tests
...
This change reverts the RTree API back to the original one (i.e.
insert() instead of put(), search() instead of find()), and
creates a new searchReturningObject() method that returns an
object keyed by UIDs.
It also adds missing tests for type restricted search and
searchReturningObject().
2013-05-22 18:25:40 -05:00
ahocevar
a2927a0dd9
Addressing @tschaub's review comments
2013-05-21 15:00:50 -05:00
ahocevar
0f4a5c09af
Porting tests from http://github.com/imbcmdth/RTree/
...
Also fixes some issues that were revealed by the new tests.
2013-05-20 17:47:04 +02:00
ahocevar
2b410cf2d0
More performance and size optimizations
...
Not using Math.max and Math.min increases performance, and by
using ol.extent functions instead of RTree's rectangle
structures and calculations we can get rid of several functions.
2013-05-20 16:20:21 +02:00
ahocevar
9dd4dc3730
Better optimization for advanced compilation mode
2013-05-20 08:50:15 +02:00
ahocevar
bf510b570a
Making RTree work in advanced compilation mode
2013-05-19 23:59:21 +02:00
ahocevar
958ee7af51
Use strings, like with other indices
2013-05-19 11:16:24 +02:00
ahocevar
79e4ee2717
More sophisticated RTree implementation
...
This new implementation is based on
http://github.com/imbcmdth/RTree/ , with only a few modifications
to add the optional type and provide the API of the previous
implementation.
There is still room for optimization, but this is such an
improvement over the previous RTree already that it's worth
bringing it in now.
2013-05-19 01:47:21 +02:00
ahocevar
ecea771801
Making RTree's find more efficient
...
By doing the type check before the intersection check, we can
save he intersection check for cases where we don't care about
type or have the specified type in a node.
2013-05-17 12:54:06 +02:00