Make PathType.type() available for all converters #1607

Closed
springmeyer opened this Issue Nov 28, 2012 · 0 comments

Projects

None yet

1 participant

@springmeyer
Member

Mapnik's geometry_type (include/mapnik/geometry.hpp) stores the eGeomType as either Point, LineString, or Polygon. Now that we support user-driven arbitrary combinations of converters like stroking, smoothing, simplification, clipping, etc (vertex_converters) the resultant geometry type is not known because:

  1. the various templates do not expose type() and
  2. the type may change after conversion

However, this limitation makes writing proper placement logic difficult. For example, if a user wants a single marker to be placed on the middle point of a line (say like in #1604), it would be great to know whether the original geometry was a line or polygon.

So, I propose modifying all necessary AGG headers to enable the type() method. It should report the original geometry type and all usage will need to be aware that that geometry type may not longer be correct. But, for placement conditions using the original geometry type may still be ideal.

@springmeyer springmeyer pushed a commit that referenced this issue Nov 29, 2012
Dane Springmeyer use middle_point placement algorithm for marker POINT placement on li…
…nes - closes #1604 - refs #1350 and refs #1607
629d768
@springmeyer springmeyer pushed a commit that referenced this issue Dec 3, 2012
Dane Springmeyer close #1548 with explict handling of point geometries and amend 629d768
… for cairo/grid renderers to ensure proper placement on lines (refs #1604,#1350,#1607)
7d408d5
@strk strk pushed a commit to strk/mapnik that referenced this issue Dec 10, 2012
Dane Springmeyer + Sandro Santilli Use middle_point placement for marker POINT placement on lines
REFS #1604, #1350, #1607 and #1625
3e938cb
@strk strk pushed a commit to strk/mapnik that referenced this issue Dec 10, 2012
Dane Springmeyer + Sandro Santilli Fix line placement of markers on points (#1548) 664e05b
@PetrDlouhy PetrDlouhy added a commit to PetrDlouhy/mapnik that referenced this issue Aug 22, 2013
@PetrDlouhy Dane Springmeyer + PetrDlouhy modify agg conv classes to support type() member - closes #1607 refs #… 539e133
@PetrDlouhy PetrDlouhy added a commit to PetrDlouhy/mapnik that referenced this issue Aug 22, 2013
@PetrDlouhy Dane Springmeyer + PetrDlouhy use middle_point placement algorithm for marker POINT placement on li…
…nes - closes #1604 - refs #1350 and refs #1607
e1fdced
@PetrDlouhy PetrDlouhy added a commit to PetrDlouhy/mapnik that referenced this issue Aug 22, 2013
@PetrDlouhy Dane Springmeyer + PetrDlouhy close #1548 with explict handling of point geometries and amend 629d768
… for cairo/grid renderers to ensure proper placement on lines (refs #1604,#1350,#1607)
62818d8
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment