Commit Graph

17 Commits

Author SHA1 Message Date
John Firebaugh
5eb0644242 Improve multipolygon rendering
Multipolygon relations report their geometry as 'area' and are rendered
as such. However, they do not render a stroke. The stroke rendering
will come from the individual lines, which are given the tag
classes of their parent relations, allowing them to have a stroke
style matching the style of simple areas with the same tags.

Untagged circular ways are no longer considered areas. This prevents
an untagged inner way of a multipolygon from rendering as an area and
is consistent with how P2 and JOSM treat them.

In the CSS, it's no longer necessary to deal with multipolygons
explicitly in selectors. But keep in mind that area boundaries can
now be rendered either as lines or as area strokes. In most cases
the selector should be `path.stroke.tag-_____`, i.e. an explicit
`.area` or `.line` classes should not be included.

Finally, the parent ways of selected multipolygons are given the 'selected'
class.
2013-02-05 15:20:11 -08:00
John Firebaugh
13a784bea5 Better Way#asGeoJSON 2013-02-05 15:20:11 -08:00
John Firebaugh
80a5a083b0 Remove unused 2013-02-02 19:57:36 -05:00
John Firebaugh
47ef222f38 Convert iD.format.XML to member functions 2013-01-27 21:50:08 -05:00
John Firebaugh
646c746991 Convert iD.format.GeoJSON to member functions 2013-01-27 21:50:07 -05:00
John Firebaugh
278bb4a51c Fix some cases where a degenerate way was created 2013-01-23 12:40:27 -05:00
John Firebaugh
292c916cb1 Converting some actions to entity methods
The guidelines here are:

Entity methods:
  return a modified entity
  don't necessarily maintain whole-graph consistency

Actions:
  return a modified graph
  always maintain whole-graph consistency
  call entity methods liberally
  generally don't call other actions
2013-01-23 12:40:27 -05:00
John Firebaugh
95800741fd Add some utility methods to Way 2013-01-18 14:44:29 -08:00
John Firebaugh
020c56b3a2 Move Entity#intersects test 2013-01-18 14:44:28 -08:00
John Firebaugh
5a2444b551 Extract and fix extent/intersection calculations
Extents are now [[min x, min y], [max x, max y]].
2013-01-17 14:27:01 -08:00
John Firebaugh
62efa1948e Add Entity#geometry, use in inspector
Fixes the icon for areas, but breaks it for vertices.
Needs a big-vertex sprite.
2013-01-02 21:59:55 -08:00
John Firebaugh
d181df4c51 Polymorphism 2012-12-28 22:24:52 -08:00
John Firebaugh
31502c6214 Simplify; test; fix 2012-12-28 22:13:36 -08:00
John Firebaugh
5fe22be7a0 Introduce real Entity subclasses 2012-12-28 18:42:21 -08:00
John Firebaugh
103678b36d Refine Entity and specs 2012-12-04 14:00:29 -05:00
Tom MacWright
a0d28c1e2d Expand tests, move way logic into entity.js and test it. 2012-12-04 13:06:21 -05:00
John Firebaugh
b4707c3a1f Mirror main directory structure in specs 2012-12-04 09:50:07 -05:00