Commit graph

2468 commits

Author SHA1 Message Date
Dane Springmeyer
d7bb97a22e simplify code 2014-05-05 18:16:42 -07:00
Dane Springmeyer
74c7e67d60 Various c++11 improvements
- std::make_unique
 - avoiding uneccessary std::move calls which make actually prevent rvo (http://stackoverflow.com/questions/4986673/c11-rvalues-and-move-semantics-confusion)
 - more c++11 for loops
2014-05-05 16:02:42 -07:00
Dane Springmeyer
439fc9f700 fix variable shadowing in placements_list.hpp 2014-05-05 10:44:59 -07:00
Dane Springmeyer
356cc85ad8 cleanup + rename svg_transform parser 2014-04-30 10:55:46 -07:00
Dane Springmeyer
97a45f21bb all static grammar usage const + xml_tree cleanups 2014-04-30 10:42:05 -07:00
Dane Springmeyer
8c1e69fdb8 static grammars
- construct on first use
 - allows for faster map loading and unloading of xml loading tree
 - modified expression and transform grammars to not take args/not crash
 - simplifies interfaces, allows fast parsing from python without passing grammar instance
2014-04-30 00:11:27 -07:00
Dane Springmeyer
c399812c34 Merge pull request #2230 from MapQuest/jh-fix-group-symbolizer-text
Group symbolizer serialization
2014-04-29 11:01:37 -07:00
Jordan Hollinger
9ec187505b Add serialization for group symbolizer components. 2014-04-29 12:08:05 -04:00
Dane Springmeyer
ad10497503 cache result of parse_expression to speed up map loading - refs #1167 2014-04-28 18:02:14 -07:00
Dane Springmeyer
ef837eb92f c++11 optimizations for faster map loading 2014-04-28 17:10:00 -07:00
Dane Springmeyer
73517c9104 fix return value for string2bool 2014-04-27 08:51:14 -07:00
Dane Springmeyer
b7b1acaa50 optimize string2bool 2014-04-25 21:46:40 -07:00
Dane Springmeyer
9e9747ffad Merge branch 'master' of github.com:mapnik/mapnik into expr-v2
Conflicts:
	src/agg/process_building_symbolizer.cpp
	src/cairo_context.cpp
	src/cairo_renderer.cpp
	src/grid/process_building_symbolizer.cpp
	src/grid/process_line_pattern_symbolizer.cpp
	src/grid/process_text_symbolizer.cpp
	tests/python_tests/images/support/marker-text-line-scale-factor-0.899.png
	tests/python_tests/images/support/marker-text-line-scale-factor-1.5.png
	tests/python_tests/images/support/marker-text-line-scale-factor-1.png
	tests/python_tests/images/support/marker-text-line-scale-factor-10.png
	tests/python_tests/images/support/marker-text-line-scale-factor-100.png
	tests/python_tests/images/support/marker-text-line-scale-factor-2.png
	tests/python_tests/images/support/marker-text-line-scale-factor-5.png
	tests/visual_tests/images/lines-5-200-200-1.0-agg-reference.png
	tests/visual_tests/images/lines-5-200-200-2.0-agg-reference.png
	tests/visual_tests/images/lines-5-400-400-1.0-agg-reference.png
	tests/visual_tests/images/lines-5-400-400-2.0-agg-reference.png
	tests/visual_tests/images/lines-5-600-600-1.0-agg-reference.png
	tests/visual_tests/images/lines-5-600-600-2.0-agg-reference.png
	tests/visual_tests/images/lines-5-800-800-1.0-agg-reference.png
	tests/visual_tests/images/lines-5-800-800-2.0-agg-reference.png
	tests/visual_tests/images/lines-6-200-200-2.0-agg-reference.png
	tests/visual_tests/images/lines-6-400-400-2.0-agg-reference.png
	tests/visual_tests/images/lines-6-600-600-2.0-agg-reference.png
	tests/visual_tests/images/lines-6-800-800-2.0-agg-reference.png
	tests/visual_tests/test.py
2014-04-24 21:44:28 -07:00
Dane Springmeyer
acb83a8796 fix compile with clang: 'addition of default argument on redeclaration makes this constructor a default constructor' 2014-04-24 21:13:35 -07:00
Dane Springmeyer
39737c5f1d Merge branch '2.3.x' of github.com:mapnik/mapnik
Conflicts:
	.travis.yml
	CHANGELOG.md
	bindings/python/build.py
	include/mapnik/feature_style_processor_context.hpp
	include/mapnik/feature_style_processor_impl.hpp
	include/mapnik/json/feature_collection_grammar.hpp
	include/mapnik/json/feature_collection_parser.hpp
	include/mapnik/json/feature_generator_grammar.hpp
	include/mapnik/json/feature_parser.hpp
	include/mapnik/json/geojson_generator.hpp
	include/mapnik/json/geometry_generator_grammar.hpp
	include/mapnik/json/geometry_parser.hpp
	plugins/input/gdal/gdal_featureset.cpp
	plugins/input/geojson/geojson_datasource.cpp
	plugins/input/occi/occi_featureset.cpp
	plugins/input/osm/osm_featureset.cpp
	plugins/input/postgis/build.py
	plugins/input/postgis/connection.hpp
	src/agg/agg_renderer.cpp
	src/build.py
	src/cairo_context.cpp
	src/datasource_cache.cpp
	src/grid/process_line_symbolizer.cpp
	src/grid/process_polygon_pattern_symbolizer.cpp
	src/grid/process_polygon_symbolizer.cpp
	src/grid/process_text_symbolizer.cpp
	src/json/feature_grammar.cpp
	tests/cpp_tests/fontset_runtime_test.cpp
	tests/visual_tests/images/collision-600-400-1.0-agg-reference.png
	tests/visual_tests/images/image-filters-multi-blur-512-512-1.0-agg-reference.png
	tests/visual_tests/images/image-filters-multi-blur-512-512-2.0-agg-reference.png
	tests/visual_tests/images/image-filters-multi-blur-inflate-512-512-1.0-agg-reference.png
	tests/visual_tests/images/image-filters-multi-blur-inflate-512-512-2.0-agg-reference.png
	tests/visual_tests/images/lines-1-400-400-2.0-agg-reference.png
	tests/visual_tests/images/lines-1-600-600-1.0-agg-reference.png
	tests/visual_tests/images/lines-1-600-600-2.0-agg-reference.png
	tests/visual_tests/images/lines-2-200-200-1.0-agg-reference.png
	tests/visual_tests/images/lines-2-400-400-1.0-cairo-reference.png
	tests/visual_tests/images/lines-2-400-400-2.0-agg-reference.png
	tests/visual_tests/images/lines-2-600-600-2.0-agg-reference.png
	tests/visual_tests/images/lines-2-800-800-2.0-agg-reference.png
	tests/visual_tests/images/lines-3-400-400-2.0-agg-reference.png
	tests/visual_tests/images/lines-3-600-600-1.0-agg-reference.png
	tests/visual_tests/images/lines-3-600-600-2.0-agg-reference.png
	tests/visual_tests/images/lines-5-200-200-1.0-agg-reference.png
	tests/visual_tests/images/lines-5-200-200-2.0-agg-reference.png
	tests/visual_tests/images/lines-5-400-400-1.0-agg-reference.png
	tests/visual_tests/images/lines-5-400-400-2.0-agg-reference.png
	tests/visual_tests/images/lines-5-600-600-1.0-agg-reference.png
	tests/visual_tests/images/lines-5-600-600-2.0-agg-reference.png
	tests/visual_tests/images/lines-5-800-800-1.0-agg-reference.png
	tests/visual_tests/images/lines-5-800-800-2.0-agg-reference.png
	tests/visual_tests/images/lines-6-200-200-1.0-agg-reference.png
	tests/visual_tests/images/lines-6-200-200-2.0-agg-reference.png
	tests/visual_tests/images/lines-6-400-400-1.0-agg-reference.png
	tests/visual_tests/images/lines-6-600-600-1.0-agg-reference.png
	tests/visual_tests/images/lines-6-600-600-2.0-agg-reference.png
	tests/visual_tests/images/lines-6-800-800-1.0-agg-reference.png
	tests/visual_tests/images/lines-6-800-800-2.0-agg-reference.png
	tests/visual_tests/images/lines-shield-600-600-2.0-agg-reference.png
	tests/visual_tests/images/lines-shield-600-600-2.0-cairo-reference.png
	tests/visual_tests/images/shield-on-polygon-600-400-1.0-agg-reference.png
	tests/visual_tests/images/shield-on-polygon-600-400-2.0-agg-reference.png
	tests/visual_tests/images/shieldsymbolizer-1-490-100-2.0-agg-reference.png
	tests/visual_tests/images/shieldsymbolizer-1-495-100-2.0-agg-reference.png
	tests/visual_tests/images/shieldsymbolizer-1-495-100-2.0-cairo-reference.png
	tests/visual_tests/images/shieldsymbolizer-1-497-100-1.0-cairo-reference.png
	tests/visual_tests/images/shieldsymbolizer-1-497-100-2.0-agg-reference.png
	tests/visual_tests/images/shieldsymbolizer-1-497-100-2.0-cairo-reference.png
	tests/visual_tests/images/shieldsymbolizer-1-498-100-2.0-agg-reference.png
	tests/visual_tests/images/shieldsymbolizer-1-499-100-1.0-cairo-reference.png
	tests/visual_tests/images/shieldsymbolizer-1-499-100-2.0-agg-reference.png
	tests/visual_tests/images/shieldsymbolizer-1-499-100-2.0-cairo-reference.png
	tests/visual_tests/images/shieldsymbolizer-1-500-100-2.0-agg-reference.png
	tests/visual_tests/images/shieldsymbolizer-1-501-100-2.0-agg-reference.png
	tests/visual_tests/images/shieldsymbolizer-1-502-100-1.0-cairo-reference.png
	tests/visual_tests/images/shieldsymbolizer-1-502-100-2.0-agg-reference.png
	tests/visual_tests/images/shieldsymbolizer-1-505-100-2.0-agg-reference.png
	tests/visual_tests/images/shieldsymbolizer-1-505-100-2.0-cairo-reference.png
	tests/visual_tests/images/shieldsymbolizer-1-510-100-2.0-agg-reference.png
	tests/visual_tests/images/shieldsymbolizer-3-490-100-2.0-agg-reference.png
	tests/visual_tests/images/shieldsymbolizer-3-495-100-2.0-agg-reference.png
	tests/visual_tests/images/shieldsymbolizer-3-497-100-2.0-agg-reference.png
	tests/visual_tests/images/shieldsymbolizer-3-498-100-2.0-agg-reference.png
	tests/visual_tests/images/shieldsymbolizer-3-499-100-2.0-agg-reference.png
	tests/visual_tests/images/shieldsymbolizer-3-500-100-2.0-agg-reference.png
	tests/visual_tests/images/shieldsymbolizer-3-501-100-2.0-agg-reference.png
	tests/visual_tests/images/shieldsymbolizer-3-502-100-2.0-agg-reference.png
	tests/visual_tests/images/shieldsymbolizer-3-505-100-2.0-agg-reference.png
	tests/visual_tests/images/shieldsymbolizer-3-510-100-2.0-agg-reference.png
	tests/visual_tests/images/shieldsymbolizer-4-490-100-2.0-agg-reference.png
	tests/visual_tests/images/shieldsymbolizer-4-495-100-2.0-agg-reference.png
	tests/visual_tests/images/shieldsymbolizer-4-497-100-2.0-agg-reference.png
	tests/visual_tests/images/shieldsymbolizer-4-498-100-2.0-agg-reference.png
	tests/visual_tests/images/shieldsymbolizer-4-499-100-2.0-agg-reference.png
	tests/visual_tests/images/shieldsymbolizer-4-500-100-2.0-agg-reference.png
	tests/visual_tests/images/shieldsymbolizer-4-501-100-2.0-agg-reference.png
	tests/visual_tests/images/shieldsymbolizer-4-502-100-2.0-agg-reference.png
	tests/visual_tests/images/shieldsymbolizer-4-505-100-2.0-agg-reference.png
	tests/visual_tests/images/shieldsymbolizer-4-510-100-2.0-agg-reference.png
	tests/visual_tests/test.py
2014-04-24 14:50:55 -07:00
Dane Springmeyer
34771d20dd add newlines to avoid pedantic warnings 2014-04-24 12:53:08 -07:00
Dane Springmeyer
c4dbcf93bc fix version in code comment 2014-04-15 17:26:02 -04:00
Dane Springmeyer
d577b0814b remove uneeded asserts in png_io 2014-04-09 19:34:13 -04:00
Dane Springmeyer
cf784f5e29 restore agg polygon clipper 2014-04-09 00:28:18 -04:00
Dane Springmeyer
e94876ebe4 Merge pull request #2160 from MapQuest/expr-v2-group-symbolizer
Group Symbolizer
2014-04-03 11:52:21 -07:00
Dane Springmeyer
080b8e174c fixup c++ style in offset_converter 2014-03-18 17:31:15 -07:00
Dane Springmeyer
83ad5f5a25 fix a few g++-4.8 warnings on linux 2014-03-18 14:52:41 -07:00
Dane Springmeyer
cb3db66b82 std::make_unique 2014-03-10 21:34:48 -07:00
Dane Springmeyer
7d5e0f1f91 one step closer to expression support for line cap/join 2014-03-10 13:00:47 -07:00
Dane Springmeyer
91eda81699 pass string by const& 2014-03-10 13:00:14 -07:00
Dane Springmeyer
24aaa0a6de post merge cleanups 2014-03-10 10:47:43 -07:00
Dane Springmeyer
6433d9482e Merge branch 'master' of github.com:mapnik/mapnik into expr-v2
Conflicts:
	include/mapnik/symbolizer.hpp
	src/agg/agg_renderer.cpp
	src/agg/process_line_pattern_symbolizer.cpp
	src/agg/process_line_symbolizer.cpp
	src/agg/process_polygon_pattern_symbolizer.cpp
	src/agg/process_polygon_symbolizer.cpp
	src/cairo_renderer.cpp
	src/feature_type_style.cpp
	src/grid/process_line_pattern_symbolizer.cpp
	src/grid/process_line_symbolizer.cpp
	src/grid/process_markers_symbolizer.cpp
	src/grid/process_polygon_pattern_symbolizer.cpp
	src/grid/process_polygon_symbolizer.cpp
2014-03-10 00:05:56 -07:00
Dane Springmeyer
dc8a13c44e rename a few variables to avoid likely clashes 2014-03-09 21:29:52 -07:00
Dane Springmeyer
21555b51c2 avoid double application of scale_factor - refs #1926 2014-02-27 13:28:25 -08:00
Dane Springmeyer
3dd05bd171 support scale_factor in geometry-transform translate and scale - refs #1926 2014-02-27 13:28:03 -08:00
Dane Springmeyer
b1cfe548b0 avoid double application of scale_factor - refs #1926 2014-02-27 13:20:58 -08:00
Dane Springmeyer
e49f63730e support scale_factor in geometry-transform translate and scale - refs #1926 2014-02-27 11:55:58 -08:00
Dane Springmeyer
277ae93d2c make inflated image for blurring opt-in via 'image-filters-inflate' option - refs #2165
Conflicts:
	src/agg/agg_renderer.cpp
2014-02-27 11:17:09 -08:00
Dane Springmeyer
4e957c9cac make inflated image for blurring opt-in via 'image-filters-inflate' option - refs #2165 2014-02-27 10:11:17 -08:00
Jordan Hollinger
533820c63f Merge branch 'expr-v2' of github.com:mapnik/mapnik into expr-v2-group-symbolizer
Conflicts:
	src/text/placement_finder.cpp
	tests/visual_tests/test.py
2014-02-25 14:21:51 -05:00
artemp
19c2b76e10 remove unused text_symbolizer.hpp/cpp 2014-02-25 14:25:23 +00:00
Jordan Hollinger
08ea56996a Add shield symbolizer support in group symbolizer processing.
Update some test cases to use ShieldSymbolizer instead of point and text.
2014-02-25 08:53:35 -05:00
artemp
ecc5acbdb9 attempt to handle multi-polygons in shape.input 2014-02-24 15:20:06 +00:00
artemp
7adb29bdd0 restore agg polygon clipper 2014-02-24 15:19:29 +00:00
Dane Springmeyer
14c02e76a7 Merge pull request #2138 from MapQuest/jmh-text-layouts
Multiple text layouts in text symbolizer
2014-02-18 17:59:56 -08:00
Jordan Hollinger
07dc6e37a2 Merge branch 'expr-v2' of github.com:mapnik/mapnik into expr-v2-group-symbolizer
Conflicts:
	include/mapnik/attribute_collector.hpp
2014-02-18 18:22:01 -05:00
Jordan Hollinger
bbd2cfd40f Grid renderer implementation for group symbolizer.
This uses common process_group_symbolizer for most of the work.
Add reference grids for visual tests.
2014-02-18 16:37:41 -05:00
Matt Amos
f81d5abe1f "Implement" group symbolizer for SVG renderer.
Note that the "implementation" for SVG renderer is the same as
for other symbolizers there - i.e: empty.
2014-02-18 15:54:32 -05:00
Matt Amos
7e25a220a8 Implement debug symbolizer for Cairo. Update tests for debug symbolizer.
Debug symbolizer is useful, and used in a bunch of tests. This
adds debug symbolizer support for Cairo to make it closer to the
capabilities of AGG.

Adding debug symbolizer for Cairo meant that red boxes appeared in
many of the visual test outputs. This commit replaces them with
the output, after visual inspection. They should now be closer to
the output of the AGG test cases.
2014-02-18 15:53:55 -05:00
Matt Amos
44e69e9b05 Cairo renderer implementation of group symbolizer.
This uses the renderer_common header to do most of the heavy
lifting, but otherwise is very similar to the AGG renderer
implementation.

Add cairo ref images for group symbolizer tests.
2014-02-18 15:45:11 -05:00
Jordan Hollinger
3d1c30db1e Extracted a lot of code from agg render process_group_symbolizer.
Move a lot of processing into a common process_group_symbolizer function.
Also, extract column collection out of process_group_symbolizer function.
This will reduce duplication needed for other renderers.
2014-02-18 15:06:40 -05:00
Jordan Hollinger
76329028d2 Find placements and render in process_group_symbolizer.
Create a group_symbolizer_helper for group placments, and extract some code from
text_symbolizer_helper into a base class to share with group_symbolizer_helper.
Also, move tolerance_iterator into its own header file. Use helper in
process_group_symbolizer to find placement positions.
2014-02-18 14:01:04 -05:00
Matt Amos
b85e7d0764 Added method to extract bounding boxes for symbolizers.
This is done by creating a fake 'virtual' environment at a fake
point and running the symbolizer render code. The actual render
is saved in a thunk for after the group layout has been done.
2014-02-18 11:11:06 -05:00
Jordan Hollinger
fbc2a0d1e3 Framework for group symbolizer.
This includes XML parsing of group symbolizer and related objects and
process_group_symbolizer method in the AGG renderer. This also includes
code to collect group symbolizer indexed columns, create sub features,
and match them to group rules.
2014-02-18 11:07:52 -05:00
Dane Springmeyer
b799395f6a remove unused code 2014-02-10 21:39:56 -08:00