Commit graph

5404 commits

Author SHA1 Message Date
Dane Springmeyer
a22b31b0cc switch out new test image since there is no visual difference to the old one 2012-08-01 16:43:47 -07:00
Dane Springmeyer
7211436313 avoid clipping artifacts with line_symbolizer by using stroke sensitive clipping extent - refs #1282, #1185, #1215 2012-08-01 16:43:00 -07:00
Dane Springmeyer
092a1bf625 impl debug box drawing in geo extents 2012-08-01 16:40:48 -07:00
Dane Springmeyer
6f15731c37 use std::fixed when outputting bbox's to string 2012-08-01 16:40:06 -07:00
Hermann Kraus
0c90f0f22b Update all tests which return obviously correct results. 2012-08-02 01:28:19 +02:00
Hermann Kraus
d29ef80560 Reindent code. 2012-08-02 01:14:12 +02:00
Hermann Kraus
c529bf7b06 Implement font sets. 2012-08-02 01:12:52 +02:00
Hermann Kraus
984f136351 Add dummy functions for line placements and reenable line placement code in symbolizer helpers. 2012-08-02 00:37:43 +02:00
Hermann Kraus
f2e2483109 Better text positions. 2012-08-01 23:09:47 +02:00
Dane Springmeyer
2351877cad Merge branch 'master' of github.com:mapnik/mapnik 2012-08-01 11:08:04 -07:00
artemp
8ff71a24bd + fixed naming (as per SVG) 2012-08-01 17:29:22 +01:00
artemp
3db39f2b78 + revert using clip_poly_line to avoid rendering artifacts
(TODO: consider modifying agg::conv_clip_polyline)
2012-08-01 17:06:35 +01:00
artemp
6c173cd9d4 + cleanup 2012-08-01 16:30:11 +01:00
Dane Springmeyer
e90ccb7a3a Merge branch 'master' of github.com:mapnik/mapnik 2012-08-01 08:00:55 -07:00
artemp
5541ea0271 + layer : minimum-extent and buffer-size
+ agg::process_xxx : remove ad-hoc query_extent modifiers
+ ctrans : simplify vertex skipping
2012-08-01 15:44:36 +01:00
artemp
2dcf940853 Merge remote-tracking branch 'origin/master' 2012-08-01 14:00:36 +01:00
artemp
fc6a22c014 + c++ style 2012-08-01 11:07:45 +01:00
Dane Springmeyer
295c661af2 start setting up to sync markers_symbolizer between agg and grid renderer 2012-07-31 19:19:45 -07:00
Dane Springmeyer
a9f99848c2 expose boost::optional<mapnik::stroke> for markers_symbolizer (which works as oopposed to boost::optional<double> and boost::optional<float> which are broken 2012-07-31 18:40:53 -07:00
Dane Springmeyer
f60f40c939 Merge pull request #1157 from mapnik/stroke-as-reference
make stroke property on line_symbolizer a reference when accessed from python (not a copy)
2012-07-31 18:20:55 -07:00
Dane Springmeyer
16084ff335 support both interior placement and point for markers - helps prepare for #952 2012-07-31 18:13:50 -07:00
Hermann Kraus
0af19a226c Remove debug output. 2012-08-01 03:10:00 +02:00
Hermann Kraus
adb4bc9c01 Fix variable name. 2012-08-01 03:07:31 +02:00
Dane Springmeyer
3821afd74d inherit default placement types from class instance 2012-07-31 18:06:52 -07:00
Dane Springmeyer
b7aafe51bc update markers line placement tests 2012-07-31 17:53:20 -07:00
Dane Springmeyer
9d9c525de0 revert 1dfde78 and properly avoid clipping for point type geometries in markers_symbolizer while moving markers_placement to cpp file to avoid overhead of declaring all possible permutations of vertex convertors - closes #1341 2012-07-31 17:27:52 -07:00
Dane Springmeyer
64b990ef6c viewer ignores 2012-07-31 17:00:24 -07:00
Dane Springmeyer
48c391da0d reduce copying of svg attributes via @lightmare - refs #1360 2012-07-31 16:56:22 -07:00
Dane Springmeyer
cdb50f86c7 Merge pull request #1361 from mapnik/marker-ellipse-fix
Allow proper setting of ellipse dimensions using marker-width and marker-height - closes #1348
2012-07-31 16:49:00 -07:00
Hermann Kraus
21c9a6fcde Initialize all members in clear(). 2012-08-01 01:42:50 +02:00
Dane Springmeyer
3867a75adf comment crashing test 2012-07-31 16:42:07 -07:00
Dane Springmeyer
c3c2902b92 move ellipse contruction code to marker_helpers 2012-07-31 16:40:30 -07:00
Hermann Kraus
b97840660c Merge branch 'debugsymbolizer' into harfbuzz 2012-08-01 01:17:26 +02:00
Hermann Kraus
f3326115ac Add debug symbolizer. 2012-08-01 01:16:48 +02:00
Dane Springmeyer
4d2eb73e3b add tests for complex marker rendering functionality 2012-07-31 16:04:42 -07:00
Dane Springmeyer
6c984b4f13 add testcase for #1365 2012-07-31 16:03:51 -07:00
Hermann Kraus
5929c3c9db Add "rotate-displacement". 2012-07-31 23:05:31 +02:00
Dane Springmeyer
d5a6564fe2 Merge branch 'master' of github.com:mapnik/mapnik into marker-ellipse-fix 2012-07-31 13:46:35 -07:00
Dane Springmeyer
cb246a436f update the grid rendering tests with new expected results (should now be passing) 2012-07-31 13:16:41 -07:00
Dane Springmeyer
967589442c serialize transform for points and sheild 2012-07-31 11:23:53 -07:00
Dane Springmeyer
e95886f327 catch exceptions upon startup 2012-07-31 10:45:38 -07:00
Rich Wareham
f28df5d3af python plugin: add author to AUTHORS.md file 2012-07-31 17:24:33 +01:00
Rich Wareham
16ffdf1fb5 python plugin: remove useless Makefile 2012-07-31 17:07:11 +01:00
Rich Wareham
156a7590f4 python: a new plugin to use arbitrary Python as a data source
This plugin allows you to write data sources in the Python programming language.
This is useful if you want to rapidly prototype a plugin, perform some custom
manipulation on data or if you want to bind mapnik to a datasource which is most
conveniently accessed through Python.

The plugin may be used from the existing mapnik Python bindings or it can embed
the Python interpreter directly allowing it to be used from C++, XML or even
JavaScript.

Mapnik already has excellent Python bindings but they only directly support
calling *into* mapnik *from* Python. This forces mapnik and its input plugins to
be the lowest layer of the stack. The role of this plugin is to allow mapnik to
call *into* Python itself. This allows mapnik to sit as rendering middleware
between a custom Python frontend and a custom Python datasource. This increases
the utility of mapnik as a component in a larger system.

There already exists MemoryDatasource which can be used to dynamically create
geometry in Python. It suffers from the problem that it does not allow
generating only the geometry which is seen by a particular query. Similarly the
entire geometry must exist in memory before rendering can progress. By using a
custom iterator object or by using generator expressions this plugin allows
geometry to be created on demand and to be destroyed after use. This can have a
great impact on memory efficiency. Since geometry is generated on-demand as
rendering progresses there can be arbitrarily complex 'cleverness' optimising
the geometry generated for a particular query. Obvious examples of this would
be generating only geometry within the query bounding box and generating
geometry with an appropriate level of detail for the output resolution.
2012-07-31 17:05:27 +01:00
artemp
d7d833dd13 + cleanup/small fixes 2012-07-31 13:31:22 +01:00
artemp
c7af665cc7 + process SEG_CLOSE 2012-07-31 10:59:09 +01:00
artemp
76569cccb8 + select clipper based on geometry type
+ process SEG_CLOSE command
2012-07-31 10:57:42 +01:00
artemp
a3b7d07da0 + select clipper based on geometry type 2012-07-31 10:56:13 +01:00
Dane Springmeyer
39a1477eb2 allow marker-width and marker-height to apply directly to ellipse rx/ry - maintaining ability to precisely control ellipse dimensions, combine with transforms, and avoid scaling line-widths - refs #1348 and #1347 2012-07-30 23:20:20 -07:00
Dane Springmeyer
e69c6037b7 mapnik coding style 2012-07-30 23:07:12 -07:00