Commit Graph

3168 Commits

Author SHA1 Message Date
Tom Payne
0221f74e5c Improve type checking in ol.renderer.dom.TileLayer 2013-11-20 11:13:46 +01:00
Tom Payne
68bf12b5e1 Improve type checking in ol.renderer.dom.Map 2013-11-20 11:13:46 +01:00
Tom Payne
d3981e2891 Improve type checking in ol.renderer.canvas.Map 2013-11-20 11:13:46 +01:00
Tom Payne
e487e1b215 Improve type checking in ol.Collection 2013-11-20 10:57:45 +01:00
Tom Payne
78380feb30 Use ol.structs.PriorityQueue template in ol.TileQueue 2013-11-19 21:19:23 +01:00
Tom Payne
2d6354bb92 Use ol.structs.LRUCache template in ol.TileCache 2013-11-19 21:19:23 +01: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
936f86568e Merge pull request #1284 from ahocevar/null-vertexfeature
Protect from null vertexFeature
2013-11-18 12:23:00 -08:00
ahocevar
aa5358203e Protect from null vertexFeature
When dragging the map before a vertexFeature was created, it can
be null, so we cannot get its renderIntent.
2013-11-18 10:43:37 +01:00
Tim Schaub
b0362b8c0a Only set interacting hint when modifying the view 2013-11-14 14:21:01 -07:00
Frédéric Junod
fac953a683 Merge pull request #1198 from fredj/bindTo_transform
ol.Object#bindTo: getter and setter
2013-11-13 09:00:33 -08:00
Frédéric Junod
376e427e05 Merge pull request #1275 from fredj/bing_style_param
Rename ol.source.BingMapsOptions style property to imagerySet
2013-11-13 07:21:19 -08:00
Frederic Junod
c18b2706fb Notify target object after transform functions change 2013-11-13 16:13:08 +01:00
Frederic Junod
a0bea641d1 Remove 'valueAsNumber' property from ol.dom.Input
Use bindTo.transform functions instead
2013-11-13 16:13:08 +01:00
Frederic Junod
03cc533cb3 Getter and setter support for bindTo 2013-11-13 16:13:08 +01:00
Tim Schaub
22da054774 Determine the callback count while iterating through all layers
Previously, if a layer didn't have a `getFeature*ForPixel` type method, the loop count would be decremented.  This means that all layers would not be considered.  Instead, the callback count should be incremented before requests are made and decremented in the callback.
2013-11-13 07:36:54 -07:00
Tim Schaub
b9a4ae5e77 Merge pull request #1273 from tschaub/select-layers
Rename layerFilter option to layers and accept array for select interaction.
2013-11-13 06:35:17 -08:00
Frederic Junod
e508be66d9 Rename ol.source.BingMapsOptions style property to imagerySet
To match the Bing Maps terminology
2013-11-13 10:49:17 +01:00
Tim Schaub
a2b55b04e8 Rename layerFilter option to layers and accept array 2013-11-12 22:08:59 -07:00
Tim Schaub
7b69373985 Remove ol.geom2 2013-11-12 19:27:02 -07:00
Tim Schaub
61d13f9a39 Remove ol.source.Vector2 2013-11-12 19:26:29 -07:00
Tim Schaub
75b40a60c0 Remove ol.layer.Vector2 and associated renderer 2013-11-12 19:25:08 -07:00
ahocevar
f790992a77 Make addLayer and removeLayer methods private 2013-11-13 00:44:39 +01:00
ahocevar
b805a76ae1 layerFilter can no longer be undefined here 2013-11-13 00:44:39 +01:00
ahocevar
4e85322abb Minor stylistic clean-ups and more symmetry 2013-11-13 00:44:38 +01:00
ahocevar
9067260a44 Fixing api doc comment 2013-11-13 00:44:38 +01:00
ahocevar
7ae65c32e1 Removing unused method 2013-11-13 00:44:38 +01:00
ahocevar
39a5a8e291 Refactoring for better layer management
The only feature on the temporary layer is now the
vertexFeature, and the temporary layer's style is dynamically
changed to the style of the layer whose segment is being edited
(the topmost layer if more than one segment are being edited).
With this simplification, we can also put all segments on a
single RTree. Finally, we no longer rely on structures set on
layers - all we need is now on the instance itself.

This refactoring also changes the way we define layers to
participate in modification - by using an array or a filter
function, or assuming all layers if no layers property is set.
2013-11-13 00:44:38 +01:00
ahocevar
06406d968f Adding equals method for comparing coordinates 2013-11-13 00:44:38 +01:00
ahocevar
319f78fb94 Using new squaredDistanceToSegment and closestOnSegment 2013-11-13 00:44:37 +01:00
ahocevar
0e673a492a Use accessor for components 2013-11-13 00:44:37 +01:00
ahocevar
c669dda2b1 Do not create a vertexFeature with [NaN, NaN] coordinates
The RTree cannot work with NaN coordinates. So instead of
preparing a vertexFeature before we know a coordinate, we now
lazily create the vertexFeature.
2013-11-13 00:44:37 +01:00
ahocevar
498738d22a Parent information no longer needed
Now that we can do setCoordinates, we no longer need to create
new geometries and assign them to a parent.
2013-11-13 00:44:37 +01:00
ahocevar
1c3b839a6f Use new setCoordinates methods 2013-11-13 00:44:36 +01:00
ahocevar
fec638e8be Write modifications back to the original layer
With the feature's getOriginal() and setOriginal() methods, an
undo tree can be maintained now.
2013-11-13 00:44:36 +01:00
ahocevar
a3b18bf16e Do not split segments while in the loop
In combination with the additional squaredDistanceToSegment
check we can ensure that a future vertex is only created on one
segment per feature, and only on the segment that it appears on.

This change also renames the misleading dragVertices_ member to
dragSegments_.
2013-11-13 00:44:36 +01:00
ahocevar
ff17eb53d4 Separate add listener from method that adds index 2013-11-13 00:44:36 +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
Tim Schaub
05b9922861 Tests for draw interaction
The tests revealed that polygons can be drawn with counter-clockwise exterior ring order.  In the polygon constructor, we enforce clockwise winding for exterior rings.  So after drawing, we pass polygon coordinates back to the constructor before adding feature to the target layer.
2013-11-12 16:06:42 -07:00
Tim Schaub
5a898884ec Use geometry type enum for configuring draw interaction
This allows us to cast single-part geometries to multi-part types before adding features to the target layer.  This doesn't yet allow for drawing multi-part geometries with multiple parts.  That can be handled separately.
2013-11-12 11:51:41 -07:00
Tim Schaub
8194ba9f0a Remove setMode method from interaction in favor of add/removeInteraction
This makes the example a bit more awkward, but eventually adding and removing interactions will be the job of an editing control.
2013-11-12 10:30:37 -07:00
Tim Schaub
62b44f3c73 Add click tolerance to allow dragging while drawing 2013-11-12 10:30:37 -07:00
Tim Schaub
e3faa76770 Add method to abort drawing 2013-11-12 10:30:37 -07:00
Tim Schaub
4e98e86b14 Stop dblclick propagation while editing 2013-11-12 10:30:37 -07:00
Tim Schaub
048dec1644 Updated sketch style 2013-11-12 10:30:36 -07:00
Tim Schaub
7c197252ed Ensure drawing is not finished prematurely 2013-11-12 10:30:36 -07:00
Tim Schaub
45ba000df5 Pop off last point from linestring 2013-11-12 10:30:36 -07:00
Tim Schaub
b5cc35ee04 Snap to finish with configurable tolerance 2013-11-12 10:30:32 -07:00
Tim Schaub
ea6500ecd0 Finish lines by clicking last point 2013-11-12 10:29:29 -07:00