Commit graph

3391 commits

Author SHA1 Message Date
Dane Springmeyer
427f0486ff avoid -Wshadow warning 2015-06-15 20:41:50 -07:00
Dane Springmeyer
23e25ca432 share const rendering buffer impl to avoid const_cast + avoid various warnings 2015-06-15 20:41:50 -07:00
Dane Springmeyer
7ba45aa9ab fix variable shadowing and ignore -Wsign-conversion for boost 2015-06-15 20:41:50 -07:00
Dane Springmeyer
d69e2cbe66 use safe_cast to safely handle -Wsign-conversion/narrowing warnings 2015-06-15 20:41:50 -07:00
Dane Springmeyer
5418c74aad Fix -Wshadow and -Wsign-conversion warnings 2015-06-15 20:41:49 -07:00
Dane Springmeyer
6d124cc229 remove unused set_rectangle method 2015-06-15 20:41:49 -07:00
Dane Springmeyer
7e2028e9fd Fix -Wshadow warning 2015-06-15 20:41:49 -07:00
Dane Springmeyer
ecd2e4aea0 fix -Wshadow warning 2015-06-15 20:41:49 -07:00
Dane Springmeyer
c55662ab43 rename pixel_cast to safe_cast 2015-06-15 20:41:48 -07:00
Dane Springmeyer
72b4cb8a3a fix -Wsign-conversion warnings from boost_regex 2015-06-15 20:41:47 -07:00
Dane Springmeyer
45bda29a45 switch to c++11 library over boost (confirmed no speed drop on osx with test_marker_cache.cpp) 2015-06-15 20:41:47 -07:00
Dane Springmeyer
8172eda3d1 fix gamma for symbolizers that do not (yet) support user driven gamma - closes #2912 2015-06-12 18:18:39 -07:00
Dane Springmeyer
0d86afff36 start using -Wsign-compare and -Wshadow + fix heaps of warnings - refs #2907 2015-06-12 14:51:18 -07:00
Dane Springmeyer
84a0c49ec3 Avoid crashing if we try to read a png as a jpeg - closes #2903 2015-06-11 14:02:34 -07:00
Dane Springmeyer
6a3d63aa40 consistent initialization in scriptrun and placement_finder 2015-06-11 11:44:27 -07:00
artemp
eabe5b50e6 Merge branch 'master' into mapycz-fix-raster-scaling 2015-06-11 13:15:38 +01:00
artemp
96f7120ecc add pixel_cast<T>() ref #2893
replace boost::numeric_cast with mapnik::pixel_cast
2015-06-11 13:10:02 +01:00
artemp
e32465368b Merge branch 'fix-raster-scaling' of https://github.com/mapycz/mapnik into mapycz-fix-raster-scaling 2015-06-11 10:28:41 +01:00
Dane Springmeyer
352586e9d7 handle pj_transform HUGE_VAL results (aka inf)
- turns out pj_transform will not always return an error code for
   failed transforms and may instead just set values as HUGE_VAL
 - this commit handles this and calls it an error by return false
   from forward/backward

Arguably if `point_count` > 1 some values might be correctly transformed
while others might be HUGE_VAL. For the purposes of Mapnik we will consider
any HUGE_VAL as an error because we have no way to handle partial failures.
2015-06-10 18:34:11 -07:00
artemp
8e30a89522 remove wkt_generator_grammar_int to minimise code duplication
remove redundant template parameter - we can deduce coord_type from Geometry
add coord generator traits to control generator instantiation at compile time
2015-06-10 11:10:17 +01:00
Blake Thompson
08602392a3 Merge branch 'master' into offset 2015-06-09 13:18:31 -05:00
Blake Thompson
75f7cb26bb Reversed the offsets 2015-06-09 09:18:52 -05:00
Dane Springmeyer
32d925b965 fix clipping regression on line patterns #2897 (proper tests depend on 2896) 2015-06-08 19:06:43 -07:00
Dane Springmeyer
c9293b8fd0 actually fix #2894 - refs #2202 2015-06-08 18:51:13 -07:00
Jiri Drbalek
76b7466719 fix rendering raster without scaling 2015-06-08 17:31:56 +00:00
Dane Springmeyer
d7bffd51f2 shuffle marker_helpers includes 2015-06-06 08:19:54 -07:00
Dane Springmeyer
29c9e97d76 minor code cleanup in process_group_symbolizer 2015-06-06 08:09:06 -07:00
Dane Springmeyer
4bf4bb0104 Merge pull request #2880 from zerebubuth/fix/rapidxml-loader-trim-whitespace
Fix rapidxml XML loader to trim whitespace
2015-06-03 14:03:53 -07:00
Artem Pavlenko
a235316573 Merge pull request #2883 from mapycz/missing-style
better handling of missing styles
2015-06-03 11:54:06 +01:00
Jiri Drbalek
27ba7483be xml loader: throw on missing style for strict parsing 2015-06-03 10:36:50 +00:00
artemp
3a4c67c9d6 Merge remote-tracking branch 'origin/master' 2015-06-03 11:30:57 +01:00
artemp
3c159f7163 remove unused dump_xml.hpp 2015-06-03 11:18:32 +01:00
Blake Thompson
a138b8717d Removed angus clipper library from code and updated all visual tests to master 2015-06-02 14:14:21 -05:00
Matt Amos
5616d406b4 Trim whitespace in rapidxml parser text nodes.
The libxml parser already trims text nodes, which leads to a
difference in behaviour when reading map style XML. This patch
normalises the behaviour between the two.
2015-06-02 17:50:08 +01:00
Dane Springmeyer
f8370acc9c fix a few files that need utf_conv_win.hpp 2015-06-02 07:14:31 -07:00
artemp
82a98a6d85 catch and remove more spurious std::move's 2015-06-02 14:48:02 +01:00
artemp
df4226a825 remove spurious std::move's (clang - moving a temporary object prevents copy elision [-Wpessimizing-move]) 2015-06-02 14:26:35 +01:00
artemp
2eaa90033a move singleton to util/singleton.hpp
move windows UTF conversion routines to util/utf_conv_win.hpp
2015-06-02 11:10:41 +01:00
Artem Pavlenko
2e377e876a Merge pull request #2879 from zerebubuth/fix/remove-unused-source-files
Remove unused source `memory.[ch]pp`.
2015-06-01 11:22:11 +01:00
Matt Amos
ebab4df95f Remove unused source memory.[ch]pp.
I could not find any references to this source file from any
other, and it looks like it has been largely unmodified for the
past 5 years. This suggests that it has been orphaned.
2015-05-29 19:06:13 +01:00
Jiri Drbalek
5ea57b62de vertex placement: fix infinite loop 2015-05-28 15:06:56 +00:00
Blake Thompson
94dd9eb613 Merge pull request #2865 from mapycz/improve-visual-test-6
Visual tests improvements, support for grid renderer
2015-05-26 15:44:40 -05:00
Blake Thompson
4f6d87e5b1 Merge branch 'master' of github.com:mapnik/mapnik 2015-05-26 15:15:16 -05:00
Blake Thompson
feae68f142 FreeBSD build script fix closes #2861 2015-05-26 15:15:08 -05:00
Blake Thompson
3492d06f80 Always use -fPIC, refs #2861, closes #2867 2015-05-26 15:11:44 -05:00
Blake Thompson
e027204b91 Added c++ with -fPIC for SUSE 2015-05-26 13:02:18 -05:00
Jiri Drbalek
51064a9479 grid: use correct types 2015-05-25 21:03:40 +00:00
Dane Springmeyer
84e4d8bf22 Start calling geometry::correct everywhere possible - refs #2834 2015-05-20 14:00:30 -07:00
Blake Thompson
05b4ea4955 Removed multiply_opacity 2015-05-20 13:14:44 -05:00
Blake Thompson
2031215247 Renamed set_opacity to apply_opacity, reverted it to the old logic of set_alpha. Updated tests, clamping is now used. 2015-05-20 13:08:18 -05:00
Blake Thompson
b68d079255 Changed the name of the set_alpha and multiply_alpha to be set_opacity and multiply_opacity 2015-05-20 12:39:01 -05:00
Blake Thompson
25c6576fdd Updated the way that multiply_alpha works, such that it is not clamped at the multiplier, but rather at the result of the multiplier and alpha. 2015-05-20 12:39:00 -05:00
Jörg Afflerbach
b385c71789 Message about unused text nodes now also contains line numbers.
Helped me a lot when I needed to find a superfluous `-->` in a large `map.xml`.
2015-05-20 18:55:29 +02:00
artemp
a8a90b7656 use std::lock_guard instead of unique_lock (better fit for the job) 2015-05-20 16:12:22 +01:00
artemp
433741877d fix - use std::size_t to avoid narrowing 2015-05-20 11:31:41 +01:00
artemp
3ce65e8b65 rename view_to_string to view_to_stream and tempalate on stream type 2015-05-19 11:58:20 +01:00
artemp
05b5d16e87 more std::size_t fixes (consistent usage) 2015-05-19 11:43:39 +01:00
artemp
64979f24b7 use enumeration type ! 2015-05-19 11:30:51 +01:00
artemp
3b5a8f354f use std::size_t 2015-05-19 11:17:01 +01:00
artemp
bf6b7d79bd use if/else if ... 2015-05-18 11:21:56 +01:00
Dane Springmeyer
a3ac9dbca2 remove unused boost/math include and typedefs 2015-05-15 14:43:42 -07:00
Dane Springmeyer
7a0cf4d750 fix unused typedef warning in image_util 2015-05-15 14:43:42 -07:00
Blake Thompson
cf3ff82f1a Also allow the possibility for negative values being passed to image option values 2015-05-15 15:51:53 -05:00
Blake Thompson
4fce3a7451 Updates to fix failing image options 2015-05-15 15:25:52 -05:00
Blake Thompson
219ad1f2cc Updated min zoom and max zoom to use maximum scale denom and minimum scale denominator #1447 2015-05-15 14:34:12 -05:00
Blake Thompson
3e24c5a417 Doh, fixing stupid C++ that I wrote after properly writing a unit test 2015-05-15 13:21:51 -05:00
Blake Thompson
90de0d65cb Corrected errors in palette unit test and corrected logic in bounding box projection transform 2015-05-15 12:15:27 -05:00
artemp
e892f752e9 update remaining image writers to use image_options 2015-05-15 16:55:30 +01:00
artemp
08986ca8a1 truncate white space character (U-0020) at wrapping point - ref #2670 2015-05-15 15:55:51 +01:00
artemp
ccc4a63cb9 call preceding with index one pass current to handle case when i == break_point ( breakitr->preceding( i + 1))
ref #2701
2015-05-15 14:41:18 +01:00
Dane Springmeyer
c3d2f813f4 Merge pull request #2804 from mapycz/rm-log
remove useless log
2015-05-14 23:06:11 -07:00
Dane Springmeyer
3ae6e49a2e Merge pull request #2812 from mapnik/feature/add_tests
Adding tests and cleanup
2015-05-14 23:05:48 -07:00
Dane Springmeyer
956de13d4e fix issues reported by scan-build - closes #2813 2015-05-14 18:00:25 -07:00
artemp
6ed878955a cleanup 2015-05-14 15:39:11 +01:00
artemp
75a77882e8 image_options - add key0=value0:key1:key2=value2 parser
remove tokenizer usage from image_util_png
2015-05-14 15:37:21 +01:00
Artem Pavlenko
2a8086fbcc Merge pull request #2788 from mapycz/fix-labeling-on-polygons
fix labeling on polygons
2015-05-14 14:10:02 +01:00
Jiri Drbalek
78ce66aee0 remove useless log 2015-05-14 12:25:53 +00:00
artemp
881dba4fc9 fix camel case 2015-05-14 12:53:21 +01:00
artemp
ee414c4796 partially revive numeric_cast<> 2015-05-14 12:40:00 +01:00
Jiri Drbalek
527cbe7897 fix labeling on polygons 2015-05-14 11:26:01 +00:00
artemp
5b865d1f2e more constness 2015-05-14 12:07:34 +01:00
artemp
3b3ca55042 remove numeric_cast + more constness correctness 2015-05-14 11:17:53 +01:00
artemp
e20ae67110 apply constness 2015-05-14 10:47:06 +01:00
artemp
78c56968c1 add clamp(v, min, max) function + clamp opacity in ctor 2015-05-14 10:43:25 +01:00
Blake Thompson
f3abe7fc25 Added test coverage to image buffer 2015-05-13 16:50:31 -05:00
Blake Thompson
1dddfd17ef Removed try catch around set_alpha, and just checked bounds. Added unit tests for image_view 2015-05-12 12:24:14 -05:00
Dane Springmeyer
493e1d8362 fix #2743 [skip ci] 2015-05-11 16:59:00 -07:00
Blake Thompson
74eea94a4e Merge branch 'master' of github.com:mapnik/mapnik 2015-05-11 13:14:20 -05:00
Blake Thompson
f54164da75 Changed the way that set alpha worked, renaming old method to multiply_alpha, added new set_alpha, that simply sets the alpha. Added protection for overflows and underflows. Added unit tests to cover all code 2015-05-11 13:12:13 -05:00
artemp
614d2688de make non-state mutating operator()s const 2015-05-11 16:09:01 +02:00
Blake Thompson
bbe88a9352 Added fix for null image views and added test coverage for is_solid 2015-05-10 14:27:44 -05:00
Dane Springmeyer
4c76edaef7 algorithm is a somewhat large stl header, move it to cpp 2015-05-06 06:37:06 -07:00
Dane Springmeyer
126c777c8d shuffle around boost/geometry usage in headers to reduce compile time 2015-05-05 22:04:49 -07:00
artemp
47c272b874 c++ constness, formatting 2015-05-05 14:12:29 +02:00
Blake Thompson
0eecbd3e0f Modified marker cache to store shared_ptrs in order to prevent threading issues and to close #2713 2015-05-04 14:11:41 -05:00
artemp
6d4a4139b3 is_switchable to control switchabilty of vertex_converters -- revive stroke_tag
fix vertex_converter in cairo/agg
2015-05-04 14:49:17 +02:00
artemp
470da20d53 fix remanining cAmEl case names 2015-05-04 12:49:11 +02:00
artemp
081cf02dcf fix method signitures to use std::size_t
rename getSize() -> size(), getRowSize() -> row_size
2015-05-04 10:57:57 +02:00
Jiri Drbalek
78d7ea007a fix labeling 2015-04-30 07:20:10 +00:00
Dane Springmeyer
4ade976ee1 fix SVG rendering 2015-04-29 15:41:18 -07:00
Artem Pavlenko
051944a22f Merge pull request #2783 from mapycz/fix-infinite-loop
fix infinite loop
2015-04-29 11:41:52 +02:00
artemp
fd1bcbbeba remove unused includes 2015-04-29 11:35:44 +02:00
Jiri Drbalek
2a79d1500b fix infinite loop 2015-04-29 08:58:19 +00:00
artemp
c64dc3672a vertex_converter - refactor to pass Processor to apply function (while it allows to instantiate vertex_converter object only using converter tags, it doesn't reduce object code)
make offset_converter 'non-switchable' relying on be able to shortcut in `vertex(*x, *y)` when offset is 0.0 -> results in reduced binary size
2015-04-28 14:18:33 +02:00
Dane Springmeyer
930eb184d8 pedantic proj api usage 2015-04-26 23:24:19 +02:00
Dane Springmeyer
0685c43802 followup after #2773: remove python from install doc,static datasources, utils 2015-04-25 08:21:59 +02:00
Dane Springmeyer
124362d2d4 stop correcting geometries at decode time
- the original motivation for this was to avoid needing to
   mutate a copy later on (for operations needing correct winding order)
 - but mutating a copy is looking feasible, so removing this now.
2015-04-22 14:27:43 +02:00
Dane Springmeyer
ef3364695b avoid potential access of uninitialized text_placements_ptr - closes #2766 2015-04-22 14:27:07 +02:00
artemp
06d77865db update to templated geometry 2015-04-22 12:23:51 +02:00
artemp
2768aa6a4a Merge branch 'mapnik-geometry' into mapnik-geometry-template 2015-04-22 12:13:29 +02:00
Blake Thompson
d7f7bc18c1 A large set of changes that help allow WKT for int64_t type geometeries, modified some strategies, made it so that the clipper would use mapnik geometries. 2015-04-21 09:34:52 -05:00
Dane Springmeyer
3fb41e865a fix outline drawing in debugsymbolizer ring mode 2015-04-14 15:33:05 +02:00
Dane Springmeyer
cdb9a2ead4 add debug symbolizer mode for visualizing exterior and interior rings and their winding order 2015-04-14 02:44:14 +02:00
Blake Thompson
f98fd0da7c Added tests for non standard projections, forcing use of proj4. 2015-04-10 14:05:58 -05:00
Blake Thompson
2392c7eb12 Added geometry_reprojection_impl 2015-04-10 10:55:30 -05:00
Blake Thompson
87fb41907a Added template to geometries 2015-04-09 15:22:51 -05:00
artemp
2bc2e6b85e use geometry_to_path to convert geometry 2015-04-08 18:48:41 +02:00
artemp
310865a0c3 help compiler to apply RVO ( return the same object by value) 2015-04-08 13:10:22 +02:00
Blake Thompson
431c581759 Added a lot of additional tests for geometry_reprojection 2015-04-07 18:37:30 -05:00
Blake Thompson
c5d5a1f22e Added several unit tests around reprojection. 2015-04-07 17:20:29 -05:00
Blake Thompson
0fec41a87e Updated reprojection code 2015-04-07 11:55:45 -05:00
artemp
54d8746aa8 svg_renderer - add generate_path vertex processor (work-in-progress) 2015-04-07 15:46:06 +02:00
Blake Thompson
6be658f5b5 Moved geometry envelope to an impl 2015-04-06 11:00:03 -05:00
artemp
3be0074c20 bug fix - add missing break statement 2015-04-02 14:58:05 +02:00
Blake Thompson
5ca850a17e Added proper use of auto in several for loops 2015-04-01 17:55:36 -05:00
Blake Thompson
78835c9d87 Initial commit for new method to provide geometry reprojection 2015-04-01 16:18:05 -05:00
artemp
390fff5bb4 ensure we're returning the same object from multiple return paths
from_wkb now returns geometry::geometry_empty instead of throwing
update cpp_tests
2015-04-01 15:04:05 +02:00
Dane Springmeyer
b88aaed491 wkb: use 'mapnik::geometry::correct' 2015-03-31 12:30:05 -07:00
artemp
74fb3ddde0 Merge branch 'master' into mapnik-geometry 2015-03-25 16:19:02 +01:00
artemp
dc6f1924fa split multi geometries before applying placement algos 2015-03-25 14:20:47 +01:00
artemp
389d00d442 make geometry methods templated to allow using modified geometry types ( e.g variant<reference_wrapper<T>..>
symbolizer_helper - store geometries in custom varaint using reference_wrapper<T const>
2015-03-25 12:58:50 +01:00
Dane Springmeyer
b87e09c147 fix memory datasource accumulate_extent 2015-03-24 14:46:26 -07:00
Dane Springmeyer
dcc5632f82 svg_renderer is broken, disable temporarily 2015-03-24 14:15:57 -07:00
Blake Thompson
3270d42b74 Standardizing on the output of a boolean to string is true or false rather then 0 or 1. 2015-03-24 14:32:25 -05:00
artemp
4389c80d84 and finaly, rename 'new_geometry' namespace to 'geometry' 2015-03-24 14:21:28 +01:00
artemp
7e03d41606 rename geometry_impl.hpp to geometry.hpp 2015-03-24 13:32:05 +01:00
artemp
323fdd5212 rename geometry -> path ( geometry_type -> path_type) 2015-03-24 13:17:07 +01:00
artemp
ac1ffa2bfb move geometry.hpp into path.hpp and update code base to reflect this change 2015-03-24 12:42:09 +01:00
artemp
1cf0a897ac move datasource::geometry_t into separate header and rename -> datasource_geometry_t to avoid cyclic dependencies issue
to_ds_type - return actual datasource_geometry_t (remove optional)
update across datasources
experssions - revert to using
2015-03-24 12:13:31 +01:00
artemp
9352d69987 refactor local pattern alignment calc 2015-03-20 10:43:42 +01:00
artemp
360f920924 Merge branch 'master' into mapnik-geometry 2015-03-20 09:51:59 +01:00
Blake Thompson
08a3911b0a Added the introduction of an image_view_null, this could possibly fix windows build issues 2015-03-19 21:28:16 -05:00
Dane Springmeyer
c1d7fe3a8f fix compile error on windows: error C2065: 'M_PI': undeclared identifier 2015-03-19 12:14:24 -07:00
artemp
8a0b4a6b6e Merge branch 'master' into mapnik-geometry 2015-03-19 19:17:01 +01:00
artemp
3bbb9a24f1 debug_symbolizer - update to use mapnik-geometry 2015-03-19 12:30:21 +01:00
Dane Springmeyer
85b20f45d7 Merge pull request #2682 from mapycz/fix-enum-word-separator
fix enum word separator
2015-03-19 00:22:31 -07:00
artemp
28fe4847b9 csv.input - correct WKT geometry to be consistent
symbolizer_helper - handle geometry types in VERTEX_PLACEMENT
2015-03-18 16:18:44 +01:00
artemp
6a8e78ab9c fix group_symbolizer_helper 2015-03-18 13:50:15 +01:00
Matt Amos
dd5f6ea739 Use correct bounding box for avoid-edges check.
This was previously using `query_extent_`, which is in
world-space, but it should have been using `dims_`, which is the
extent of the rendered area in pixel-space, as the calculations
for collisions are all done in pixel-space.
2015-03-18 11:57:21 +00:00
artemp
1bb06d89fa group_symbolizer - update to mapnik-geometry 2015-03-18 12:10:21 +01:00