Commit graph

4377 commits

Author SHA1 Message Date
artemp
67468ef356 refactor path_expression_grammar 2016-10-13 17:00:11 +02:00
artemp
d2f64604a3 consistently return x3 grammars by const& 2016-10-13 17:00:11 +02:00
artemp
1cb966cee2 upgrade WKT grammar to boost::spirit::x3 2016-10-13 17:00:11 +02:00
artemp
3d80a62531 remove unused include directives 2016-10-13 17:00:11 +02:00
artemp
ce0f87fb71 merge spirit-x3 2016-10-13 17:00:11 +02:00
artemp
9a82ffbde7 add geometry and value dirs 2016-10-11 18:01:30 +02:00
artemp
923efd589c geometry_to_path.hpp => geometry/to_path.hpp 2016-10-11 18:01:30 +02:00
artemp
b5c9966e4b refactor value related objects into include/value dir 2016-10-11 18:01:30 +02:00
artemp
8ce7a1c43d refactor souce code files with the following rule: the physical filesytem path matches namespace structure
e.g `mapnik::geometry::centroid()` -> `$(MAPNIK_SOURCE)/include/mapnik/geometry/centroid.hpp`
2016-10-11 18:01:29 +02:00
Jiri Drbalek
0f3eecbe5e fix intersecting extents in different projections 2016-09-27 20:36:34 +00:00
artemp
8a8427daed GeoJSON feature/geometry grammars - split (a | b | ...) % lit(',') rule to avoid creating bogus temp synthesised attribute e.g boost::variant<a,b,..> which causes clang compiler >= 3.9 to segfault. (ref #3507)
NOTE: In general many Boost.Spirit gotchas can be fixed by simplifying rules (better control what gets synthesied under the bonet)
2016-09-22 12:18:34 +02:00
Mickey Rose
870b890042 remove redundant member pData_ from mapnik::image
I believe this is better than fixing swap() by also
swapping pData_
2016-09-07 20:03:17 +02:00
Jiri Drbalek
6e489a95a3 add extend parameter of text symbolizer 2016-09-07 11:46:59 +00:00
Jiri Drbalek
8733622885 add extend_converter 2016-09-07 11:46:59 +00:00
artemp
a63a50556a Merge branch 'master' into geometry-refactor 2016-09-06 10:01:15 +02:00
artemp
747ca7470c remove duplicate #pragma 2016-09-05 11:39:36 +02:00
artemp
8e0e344b72 Merge branch 'master' into geometry-refactor 2016-09-05 09:41:52 +01:00
Dane Springmeyer
3741a7f348 fix -Wshadow warnings caught by g++-5 2016-09-03 09:58:40 -07:00
artemp
38bff90a99 Merge branch 'master' into geometry-refactor 2016-09-01 16:06:20 +01:00
Dane Springmeyer
4b06dfe9b4 Avoid warnings when building the g++5 2016-08-31 11:09:27 -07:00
artemp
f360f50eed JSON - make generic_json a proper spirit grammar and reduce code bloat 2016-08-31 14:36:35 +01:00
artemp
842522b287 Merge branch 'master' into geometry-refactor 2016-08-26 09:06:05 +01:00
Jiri Drbalek
8b18c605fd no need for heap allocation 2016-08-25 08:01:31 +00:00
Jiri Drbalek
6da9de5739 fix closing segment 2016-08-25 08:01:25 +00:00
artemp
56c6a1ea62 Merge branch 'master' into geometry-refactor 2016-08-24 11:14:01 +01:00
artemp
fe007915df Revert "Revert "mapnik::variant - use std::tuple<Typess...> instead of mpl::vector<Types...> and remove Boost.MPL dependency""
and remove `<boost/fusion/adapted/std_tuple.hpp>`

This reverts commit b6cc48fd40.
2016-08-23 15:45:15 +01:00
Dane Springmeyer
f81583554a Merge branch 'master' of github.com:mapnik/mapnik into geometry-refactor 2016-08-22 16:19:17 -07:00
Dane Springmeyer
b6cc48fd40 Revert "mapnik::variant - use std::tuple<Typess...> instead of mpl::vector<Types...> and remove Boost.MPL dependency"
This reverts commit 6613222b84.
2016-08-22 11:40:06 -07:00
artemp
6613222b84 mapnik::variant - use std::tuple<Typess...> instead of mpl::vector<Types...> and remove Boost.MPL dependency 2016-08-22 12:16:48 +01:00
artemp
1e8f471448 minor formatting 2016-08-16 10:53:57 +01:00
artemp
b9279feee2 fix is_valid logic (ref #3494) 2016-08-15 12:49:43 +01:00
artemp
0471f3369a add order_by_name helper method 2016-08-15 12:20:19 +01:00
artemp
31814b32d0 rename empty_featureset => invalid_featureset to avoid ambiguity + add helper is_valid method 2016-08-15 10:41:30 +01:00
artemp
8dca305e7e json stringifier - add missing quoting in nested json objects (ref #3491) 2016-08-12 11:04:30 +01:00
Jiri Drbalek
621a5e51ac style level comp-op and opacity for Cairo renderer 2016-08-03 20:14:56 +00:00
Mickey Rose
f9d5c3a2f8 use proper feature-test macro for inheriting constructors 2016-08-03 00:29:51 +02:00
Artem Pavlenko
68db7ee224 Merge pull request #3475 from mapycz/logarithm
Add support for natural logarithm in expressions (via @talaj)
2016-08-01 15:07:01 +02:00
Jiri Drbalek
c1ab5c8e6c add support for natural logarithm function in expressions 2016-08-01 12:58:21 +00:00
Dane Springmeyer
148783da25 Revert "inherit ctor's from geometry_base"
- Fixes #3473 (windows compile)
 - TODO: @artemp get to the bottom of how to inherit from base class
   in a way that works with boost::variant and across platforms

This reverts commit bf99177da7.
2016-07-29 04:51:18 -07:00
artemp
bf99177da7 inherit ctor's from geometry_base 2016-07-25 15:55:20 +02:00
Dane Springmeyer
bd920daa16 fix decltype forwarding 2016-07-25 14:51:45 +02:00
Dane Springmeyer
f734368a73 limit mpl list size as well as vector size 2016-07-25 14:51:45 +02:00
artemp
2864d90460 more explicit conversions to the target variant type 2016-07-25 13:45:35 +02:00
artemp
7fa35f481e Support creating paletted images for any number of pixels e.g < 3 (ref #3466) 2016-07-20 14:01:14 +02:00
artemp
dc88582b4d Merge branch 'master' into geometry-refactor 2016-07-19 10:25:33 +01:00
artemp
6f8f286b8d Revert "allow "null" values when genrating Feature GeoJSON"
This reverts commit 8ce58ea29c.
2016-07-15 12:22:03 +01:00
artemp
54d51e2728 Revert "feature_kv_iterator - change logic in 'increment' to skip key/value's when value doesn't exist"
This reverts commit 3397b8f14f.
2016-07-15 12:21:41 +01:00
artemp
8ce58ea29c allow "null" values when genrating Feature GeoJSON 2016-07-14 10:09:34 +01:00
artemp
3397b8f14f feature_kv_iterator - change logic in 'increment' to skip key/value's when value doesn't exist 2016-07-14 09:46:37 +01:00
artemp
c457d93804 use count(key) 2016-07-14 09:45:55 +01:00
artemp
75781a999c add empty_featureset (returning feature_ptr()) implementation 2016-07-13 15:17:41 +01:00
artemp
132aa6654f add empty_featureset (returning feature_ptr()) implementation 2016-07-13 15:07:08 +01:00
artemp
45c5a3768f extract_bounding_box_grammar - make features optional / ref #3463 2016-07-12 17:44:19 +01:00
artemp
abb4271bea extract_bounding_box_grammar - make features optional / ref #3463 2016-07-12 17:42:53 +01:00
artemp
e08c3c1a20 using alias() doesn't work: line_string and linear_ring are different types (no-conversion) 2016-07-12 11:13:45 +01:00
artemp
fd41b682be geometry_generator - fix synthesised attribute types 2016-07-12 11:11:35 +01:00
artemp
74bf270d21 geometry is_simple - handle empty polygons 2016-07-11 11:55:20 +01:00
artemp
01e962d216 centroid - re-implement avoiding inefficient remove_empty 2016-07-11 10:44:59 +01:00
artemp
033c54617c c++ format 2016-07-11 10:44:18 +01:00
artemp
f0a37c761b polygon - add move ctor 2016-07-07 12:29:19 +01:00
artemp
c478849eba implement different strategy for adapting to boost::geometry using internal structure for accessing interior rings 2016-07-06 17:43:45 +01:00
artemp
335ce8e50b is_empty - fix implementation 2016-07-05 10:24:26 +01:00
artemp
e29ca884df has_empty - update logic to work with the current polygon model (FIXME: the naming is confusing to say the least) 2016-07-05 10:23:16 +01:00
artemp
fb398ad465 re-use typedefs 2016-07-04 15:46:04 +01:00
artemp
11fc2ceabd tidy 2016-07-04 15:11:06 +01:00
artemp
81419154eb update geometry adapters to use polygon_interior<T> as mutable interior rings proxy container 2016-07-04 10:32:20 +01:00
artemp
f5ec3ba0e0 add initial "proxy" interior rings implementation 2016-07-04 10:28:45 +01:00
Dane Springmeyer
8e31b8e2b9 remove debugging aborts [skip ci] 2016-06-30 11:51:37 -07:00
Dane Springmeyer
abe175c14f avoid calling correct on empty geometries 2016-06-29 09:20:02 -07:00
artemp
efabcc8081 make all mapnik::geometries aliases to mapbox::geometry and attempt to adapt new polygon model (one std::vector)
NOTE: some boost.geometry algorithms are broken as a result
2016-06-29 12:41:57 +01:00
artemp
66da9cdb18 using linear_ring = mapbox::geometry::linear_ring<T>; 2016-06-27 10:56:38 +01:00
artemp
3b1c7308cc make mapnik::geometry::line_string<T> an alias to mapbox::geometry::line_string<T> 2016-06-27 10:23:13 +01:00
artemp
19d376b7e6 make mapnik::geometry::point<T> an alias to mapbox::geometry::point 2016-06-27 09:45:37 +01:00
artemp
9dd00b28dc Merge remote-tracking branch 'origin/master' into geometry-refactor 2016-06-27 08:51:55 +01:00
artemp
3536ad0902 even more tidy - remove left over stderr 2016-06-22 17:35:09 +01:00
artemp
2e8c0d36c2 implement custom char_array_bufrer and remove boost::iostreams dependency 2016-06-22 17:21:25 +01:00
artemp
67d2a0e141 Merge branch 'master' into geometry-refactor 2016-06-20 15:01:29 +01:00
Mickey Rose
8d3c08f3ef libc++ implementation of std::deque<T> needs T to be complete 2016-06-17 17:09:16 +02:00
Mickey Rose
217d18a996 use std::deque to store svg::path_attributes
- refs #3453
2016-06-16 22:34:24 +02:00
artemp
beb34f9c5e topojson_grammar - rename properties to properties_ to avoid compilation error (gcc) ref #3446 2016-06-03 14:45:49 +02:00
artemp
01967cfaff topojson grammar - re-factor to allow geometry elements to be in any order 2016-05-23 10:51:05 +02:00
Artem Pavlenko
aec5949d5a Merge pull request #3416 from mapycz/scale-factor-improvements
Scale factor improvements
2016-05-18 15:05:04 +02:00
artemp
7b3f607a01 remove omit directive as it breaks type deduction and insists on boost::optional<boost::variant<int, mapnik::json::coordinates> attribute signature (boost 1.61.0) 2016-05-18 13:13:25 +02:00
artemp
c85c0fd025 prealloc memory with reserve 2016-05-18 11:18:26 +02:00
artemp
c10c271430 dereference once 2016-05-18 10:35:58 +02:00
artemp
7d72cc1930 more cleanups 2016-05-17 13:47:31 +02:00
artemp
c66fd480b5 simplify rules 2016-05-17 13:05:53 +02:00
artemp
4ca0c21d73 move phoenix functions into ctor 2016-05-17 13:00:03 +02:00
artemp
25217549f1 fix topojson parsing (work-in-progress) 2016-05-17 12:53:07 +02:00
artemp
6e326f035d minor formatting 2016-05-17 12:44:46 +02:00
artemp
dc84943575 Fixed https://github.com/mapbox/windows-builds/issues/88
(inheriting constructors not working with msvc-14.0 2015)
2016-05-13 15:23:47 +02:00
artemp
4e6aeaedfc handle empty arrays and objects ref #3426 2016-05-13 11:50:43 +02:00
artemp
38ec14c739 topojson - use json.value directly 2016-05-12 18:52:05 +02:00
artemp
5e33dc0551 feature_grammar - simplify further, remove redundant rule 2016-05-10 15:53:14 +02:00
artemp
3909fe5b7d JSON - store 'object' properties in std::vector to preserve order 2016-05-10 15:52:02 +02:00
artemp
f0386e0469 issue pre-processor #warning if BOOST_MPL_LIMIT_VECTOR_SIZE is defined before config.hpp is included ref #3425 2016-05-10 15:15:03 +02:00
artemp
75189905d6 upgrade to latest variant.hpp 2016-05-09 11:42:46 +02:00
artemp
97b8a11a72 fix includes + use typedefs for json types 2016-05-06 10:57:35 +02:00
artemp
7544f57efe Merge branch 'master' into json-properties 2016-05-06 10:27:18 +02:00
artemp
c2bf2be7ba json - simplify generic_json rules: remove redundant rule 2016-05-06 10:24:25 +02:00
artemp
21487f36b9 json - refactor stringifier and attribute_value_visitor into separate *.hpp and share between geojson and topojson grammars 2016-05-06 10:15:44 +02:00
artemp
6bd708af86 fix generic_json usage across grammars 2016-05-06 09:55:54 +02:00
artemp
e528b433d4 geojson feature_grammar - parse objects and arrays into json_value before applying "stringifier" #3419 https://github.com/mapnik/node-mapnik/issues/642 2016-05-06 09:50:45 +02:00
artemp
7374f82414 generic_json - add support for JSON object and array type in json_value + update rules attributes 2016-05-06 09:47:40 +02:00
Dane Springmeyer
966a4ae366 avoid warnings with boost 1.60 [skip ci] 2016-05-05 19:09:05 -07:00
artemp
db912d9b67 disable white skipping in stringify_object/stringify_array (ref #3419) 2016-05-05 10:33:36 +02:00
artemp
d9e75f4ddb c++ prettify formatting 2016-05-05 10:31:58 +02:00
artemp
471d6dfe94 remove redundant recursive_wrapper (via @jfirebaugh : f00a7aebf1) 2016-05-03 18:13:41 +02:00
artemp
ff821c9239 geometry::envelope - deduct value_type of box2d<T> automatically + add missing typedefs 2016-05-03 18:02:42 +02:00
Jiri Drbalek
cfc6b37d71 fix passing scale factor to evaluate_transform() 2016-05-03 12:09:39 +00:00
artemp
80176a6c83 fix `geometry_type' call 2016-04-29 18:09:32 +02:00
artemp
c4fcee7b66 add geometry dir 2016-04-29 17:08:17 +02:00
artemp
3184034414 refactor geometry core and algorithms templates + add missing typedefs + prepare for geometry update 2016-04-29 14:24:57 +02:00
artemp
de927a1571 Merge branch 'master' into geometry-refactor 2016-04-29 10:47:43 +02:00
artemp
31e8cfc659 improve hash calc ref #3406 2016-04-26 15:29:27 +02:00
artemp
4b3b62a40c minor formatting 2016-04-25 20:43:40 +02:00
artemp
650e8eea8a bump up version to 3.0.12 in preparation to release 2016-04-25 20:43:40 +02:00
artemp
988aa3ea43 add guard to get_object_severity ref #3322 2016-04-25 11:49:10 +02:00
artemp
ed87cd2883 c++ - make bbox standalone method 2016-04-22 12:54:57 +02:00
artemp
a89c3fc007 c++ - make bbox standalone method 2016-04-22 12:51:20 +02:00
artemp
4e57f7b115 Merge branch 'master' into geometry-refactor 2016-04-20 16:45:08 +02:00
artemp
6105463602 split box2d<T> implementation into *.hpp, *._impl.hpp and *.cpp ref #3405 2016-04-20 10:51:33 +02:00
Dane Springmeyer
b0894bfda3 fix debug assert compile 2016-04-18 08:06:30 -07:00
artemp
633a2c1e07 Merge branch 'master' into geometry-refactor 2016-04-18 16:15:04 +02:00
artemp
66160e9754 mapnik::util::is_clockwise - translate coordinates relative to the origin (0,0) to avoid numeric precision issues while using double precision.
(ref #3402)
2016-04-18 16:08:30 +02:00
artemp
9caac23d3c remove bogus fwd decl 2016-04-12 14:56:32 +02:00
artemp
271b70f960 geometry - template on container type + move multi geometries into separate headers 2016-04-12 14:49:23 +02:00
artemp
2e0d83aa91 geometry::multi_point - derive from std::vector<point<T>> instead of line_string<T> 2016-04-12 10:12:16 +02:00
artemp
fb385180cf include what you need 2016-04-12 09:27:37 +02:00
artemp
0f711c0863 geometry - move point/line_string/polygon into separate headers 2016-04-12 09:17:53 +02:00
Dane Springmeyer
15acb2b23f Add missing files after revert 2016-04-11 17:58:58 -07:00
Dane Springmeyer
abe943c983 revert geometry changes for now - will develop them in branch to reduce downstream breakage 2016-04-11 14:00:27 -07:00
Dane Springmeyer
0025f70a6b ensure geometry folder of headers is installed 2016-04-11 12:33:34 -07:00
artemp
19722595a9 move include/mapnik/geometry_fusion_adapted.hpp -> include/mapnik/geometry/fusion_adapted.hpp 2016-04-11 15:22:41 +02:00
artemp
caa03d78bd move geometry_adapters.hpp to geometry/boost_geometry_adapters.hpp 2016-04-11 15:14:52 +02:00
artemp
fa717bc698 Remove bogus updates from 90f06093ae "geometry - move point/line_string/polygon into separate headers" 2016-04-11 12:35:19 +02:00
artemp
90f06093ae geometry - move point/line_string/polygon into separate headers 2016-04-11 12:23:11 +02:00
artemp
c6425b8027 cleanup + make operator==, operator!= standalone 2016-04-08 10:43:06 +02:00
artemp
9705844399 fix operator==,operator!= impl 2016-04-08 10:08:16 +02:00
Dane Springmeyer
7ec640e989 register gdal once at plugin load - refs #3093 #3339 #3340 2016-04-05 16:43:07 -04:00
Dane Springmeyer
61cb4effb8 more explicit name for callback type from dlsym 2016-04-05 15:31:19 -04:00
Dane Springmeyer
f8a8ec616a c++ style: use nullptr rather than NULL 2016-04-05 15:27:32 -04:00
artemp
aac523f80e add no_skip directive in unquoted_ustring rule (ref: https://github.com/mapnik/mapnik/pull/3389#issuecomment-204344223) 2016-04-01 12:54:40 +02:00
artemp
751b691ff6 move unquoted_string to the end, remove ustring from top rule 2016-04-01 11:14:47 +02:00
artemp
890a5cff17 add back support for bare (unquoted strings) 2016-04-01 10:52:13 +02:00
artemp
7931295d33 quad_tree - fix offsets 2016-03-31 12:40:34 +02:00
artemp
51c1ed16ef c++ format 2016-03-31 11:22:40 +02:00
artemp
99bfd03b22 spatial_index - make generic 2016-03-31 11:21:57 +02:00
artemp
4faa9896bb quad_tree - make more generic by templating on bounding box type 2016-03-31 11:20:41 +02:00
artemp
450533ebc6 move boost::phoenix usage into _impl.hpp 2016-03-24 17:11:06 +00:00
artemp
b73a42131a box2<T> - add converting ctor 2016-03-24 17:08:44 +00:00
artemp
9bb20ce685 box2d<T> - expose value_type typedef + init(x, y) convinient method 2016-03-24 14:50:46 +00:00
artemp
0b18144859 GeoJSON - make extract_bounding_box grammar configurable 2016-03-23 11:28:51 +00:00
artemp
7b0740c3b7 remove unused symbolizer_grammar.hpp (ref #3343) 2016-03-18 18:52:17 +01:00
Dane Springmeyer
342b78dc52 more trimming of unneeded phoenix includes - refs #3343 2016-03-18 09:51:17 -07:00
artemp
8f9134c72d file_io - rename open to is_open to be consistent with STL i/o via @lightmare (0d032c2618 (commitcomment-16753722)) 2016-03-18 10:02:19 +01:00
artemp
3d555982fd file_io - make operator bool() explicit via @lightmare (0d032c2618 (commitcomment-16753722)) 2016-03-18 09:51:57 +01:00
artemp
04890c4915 topojson - move feature_generator into topojson_utils.hpp 2016-03-17 14:36:53 +01:00
artemp
0c2558c154 topojson bounding_box - fix multi_point logic (remove bogus if (num_arcs_ > 0) condition) 2016-03-17 14:19:29 +01:00
artemp
0d032c2618 mapnik:util::file_io - add bool operator bool() for STL I/O compatibility 2016-03-17 11:56:23 +01:00
artemp
b164e010fd topojson_grammar - don't allocate generic_json structure holding boost::spirit::qi rules on stack (ref #3361) 2016-03-15 17:19:16 +01:00
Dane Springmeyer
559ef78aca more agg ignores [skip ci] 2016-03-11 13:48:51 -08:00
Dane Springmeyer
d1b594e886 more agg ignores [skip ci] 2016-03-11 13:44:30 -08:00
artemp
1f61aa3981 TWKB - port CartoDB implementation to mapnik 3.x.x
ref https://github.com/CartoDB/mapnik/blob/2.3.x.cartodb/plugins/input/postgis/postgis_utils.cpp
ref https://github.com/CartoDB/mapnik/tree/2.3.x.cartodb/plugins/input/postgis#23xcartodb
2016-03-11 16:20:07 +01:00
Dane Springmeyer
1a10f271d8 ignore -Wfloat-equal from third party headers [skip ci] 2016-03-10 16:07:30 -08:00
Dane Springmeyer
a1ffbe1ec8 suppress warnings from image_io libs 2016-03-10 12:58:29 -08:00
Dane Springmeyer
8f4e211ebd suppress more third party warnings 2016-03-10 12:46:00 -08:00
Dane Springmeyer
192f5c26c1 use c++ style casts 2016-03-10 12:45:47 -08:00
Dane Springmeyer
51cabe0d34 ignore -Wshadow from agg 2016-03-10 11:45:48 -08:00
Dane Springmeyer
c715b142ec suppress more third party warnings 2016-03-10 11:44:44 -08:00
Dane Springmeyer
aa8c543744 use c++ style casts 2016-03-10 11:44:01 -08:00
Dane Springmeyer
3985014c04 Add agg warning suppression header 2016-03-09 17:42:24 -08:00
Dane Springmeyer
341db51aa7 finish wrapping boost includes to suppress warnings - add agg wrapper - refs #2907 2016-03-09 16:42:15 -08:00
Dane Springmeyer
7ae0e6d902 share stringify macro from common header 2016-03-09 16:16:14 -08:00
artemp
bde9e61e21 split csv_line_grammar into *.hpp *_impl.hpp ref #3343 2016-03-09 12:26:07 +01:00
artemp
1c29054dea csv_grammar - use expectation directives throughout 2016-03-09 12:26:07 +01:00
artemp
e3bd74aa55 remove unused phoenix include 2016-03-09 12:26:07 +01:00
artemp
d030fdd667 bump version to 3.0.11 2016-03-07 19:17:36 +01:00
Artem Pavlenko
cd3e484c04 Merge pull request #3349 from mapycz/raster-resample-division-by-zero
Raster resample division by zero
2016-03-07 14:54:44 +01:00
Mickey Rose
e75feceaca markers_placement_finder: dispatch by switch(placement_type) 2016-03-06 13:18:25 +01:00
Mickey Rose
f96631f8e4 un-template markers_basic_placement
- move Locator/Detector-dependent stuff back to markers_point_placement
- slightly reduces library size, by about 20% of what #3338 added
2016-03-05 19:33:22 +01:00
Jiri Drbalek
d4ac105eca raster scaling: use mapnik::safe_cast, fixes clipping negative floats 2016-03-04 16:59:12 +00:00
Jiri Drbalek
f1f65664cd raster scaling: a bit of optimization 2016-03-04 15:14:01 +00:00
Jiri Drbalek
1054e1bddb raster scaling: check for division by zero 2016-03-04 15:13:55 +00:00
artemp
71af6a8fe3 css_color_grammar + image_filters_grammar - move phoenix into ctors 2016-03-04 15:53:15 +01:00
artemp
a5cfd27594 split svg_path_grammar,svg_points_grammar,svg_transform_grammar into *.hpp, *_impl.hpp + move boost::phoenix::function initialisation into ctor's
(ref #3343)
2016-03-04 15:34:45 +01:00
Jiri Drbalek
4d402c5ef1 raster scaling: fix accessing out of bounds pixels 2016-03-04 13:55:01 +00:00
artemp
76bb2d9c01 make svg_transform_grammar stateless ref #3343
(https://github.com/mapnik/mapnik/pull/2231)
2016-03-04 13:15:11 +01:00
artemp
4659f40401 make svg_path_grammar and svg_points_grammar stateless ref #3343
(https://github.com/mapnik/mapnik/pull/2231)
2016-03-04 12:42:44 +01:00
artemp
12aec35e2f GeoJSON feature_grammar - make ctor explicit 2016-03-04 11:35:38 +01:00
artemp
4f8bc40b83 update old boost::phoenix syntax 2016-03-04 10:25:03 +01:00
Dane Springmeyer
9adafd71df avoid -Wshadow warning from boost [skip ci] 2016-03-03 07:36:33 -08:00
artemp
cbef855743 spirit grammars - move BOOST_FUSION_ADAPT_ADT into implementation files (*_impl.hpp) + reduce boost::phoenix includes to make headers lighter to include 2016-03-03 11:50:41 +01:00
Mickey Rose
489631ca34 remove reference on template parameter Detector 2016-03-03 00:17:41 +01:00
Dane Springmeyer
b5ac75cdf0 MAPNIK_DECL breaks on windows when compiled into static libmapnik-json.a 2016-03-02 13:56:01 -08:00
Dane Springmeyer
296f8d467d avoid grammar_impl usage in headers - other minor refactoring around json spirit 2016-03-02 12:48:07 -08:00
Dane Springmeyer
4edb57bf11 Merge pull request #3315 from mapnik/faster-csv-compile
Speed up CSV plugin / mapnik-index compile
2016-03-02 12:22:16 -08:00
Dane Springmeyer
10a9dba143 trim includes in json/error_handler.hpp 2016-03-02 12:17:12 -08:00
Dane Springmeyer
d148a966c8 from_geojson/to_geojson are now used in unit tests, csv plugin, and node-mapnik so move these to cpp 2016-03-02 11:26:56 -08:00
Dane Springmeyer
72459b3140 Merge branch 'master' of github.com:mapnik/mapnik into faster-csv-compile 2016-03-02 11:10:23 -08:00
artemp
9138d64725 value.hpp - fix error C2375: redefinition; different linkage 2016-03-02 17:15:05 +01:00
artemp
a549803b5b to_utf8 : fix visibility via MAPNIK_DECL 2016-03-02 17:02:25 +01:00
artemp
f11cc5920f revive lost to_utf8 method but move it into '<mapnik/unicode.hpp>' 2016-03-02 16:47:55 +01:00
artemp
65da617ec0 re-use vector_converter + move apply_marker_multi into *.cpp 2016-03-02 16:20:10 +01:00
Mickey Rose
66e7ef58d7 refactor markers_placement_finder
- refs #3327

Replace member variant of placement-type implementations with plain
union. The active implementation is chosen at construction time like
before.

Make placement-type implementation classes virtual to allow invoking
the active union member through a base class pointer.
2016-03-02 00:53:45 +01:00
artemp
77eaaa1259 move vertex_adapters implementation into .cpp - mark extern 2016-03-01 21:55:47 +01:00
artemp
053faa8a27 remove unused vars/cleanup 2016-03-01 20:49:54 +01:00
artemp
bb78b178cd reuse type 2016-03-01 20:37:23 +01:00
artemp
4c8928dd8c Merge branch 'master' into value-cpp 2016-03-01 17:43:02 +01:00
artemp
d374829b30 refactor apply_markers_multi and help compiler a bit more (re-enable support for GEOMETRYCOLLECTION) 2016-03-01 17:29:03 +01:00
artemp
45b54c703c apply_marker_multi - unroll template instantiation logic + drop 'GeometryCollection' support (experimental) 2016-03-01 17:28:09 +01:00
artemp
566c99807f minor formatting 2016-03-01 17:27:59 +01:00
artemp
3ee109f46b allow any trailing combinations of line-endings (unix, mac, dos) (ref #3320) 2016-02-26 19:19:32 +01:00
Dane Springmeyer
5c0d496c82 setting up for mapnik v3.0.10 release [skip ci] 2016-02-25 16:37:35 -08:00
Dane Springmeyer
f2782d0b67 [csv] move spirit usage to cpp 2016-02-24 17:42:51 -08:00
artemp
eea68adb40 add required include 2016-02-24 12:10:25 +01:00
artemp
50db396760 move value implementation into *.cpp 2016-02-23 23:05:19 +01:00
artemp
0c9a615c24 restore back compatibility shim ref #1859 (TODO: must go away in 3.1.x!!) 2016-02-23 14:01:06 +01:00
Mickey Rose
ea54876d79 remove unused includes 2016-02-20 01:16:11 +01:00
artemp
96175554ae Add explicit instantiation declaration of singleton<mapped_memory_cache, CreateStatic> to avoid multiple instantiations across translation units. (ref #3306) 2016-02-19 11:00:58 +01:00
artemp
5183c1da44 spatial_index - rename check_header to check_spatial_index and make it free function ref #3300 2016-02-18 11:38:29 +01:00
Mickey Rose
6557394dc8 re-add mapnik::to_utf8 stub for backward compatibility 2016-02-17 16:56:21 +01:00
Mickey Rose
1499475d04 remove to_utf8, instead use UnicodeString::toUTF8String 2016-02-15 21:07:01 +01:00
Mickey Rose
5d1fd56cef csv_grammar: make csv_white_space_skipper a primitive_parser 2016-02-15 15:17:26 +01:00
Mickey Rose
ccf579f450 csv_grammar: simplify csv_line_grammar 2016-02-15 15:15:51 +01:00
artemp
a9e1388b3b csv_grammar - always requre matching closing quoting character 2016-02-15 12:02:45 +01:00
Mickey Rose
2d88fec458 to_expression_string: fix backslash-escapes in strings 2016-02-15 02:45:29 +01:00
artemp
edc2e75474 Merge branch 'trim-filter-grammar' of https://github.com/lightmare/mapnik into lightmare-trim-filter-grammar 2016-02-11 15:43:18 +01:00
Dane Springmeyer
8ecb42894f restore << operator for mapnik::enumeration + add unit test 2016-02-09 10:08:29 -08:00
Dane Springmeyer
6c1b6e301d gradient does not need to be a fancy enumeration 2016-02-09 09:56:57 -08:00
artemp
f0cc65958f Merge branch 'expr-no-barewords' of https://github.com/lightmare/mapnik into lightmare-expr-no-barewords 2016-02-09 14:15:22 +01:00
Mickey Rose
15f841213a expression_grammar: restrict unquoted strings to single-atom expressions
- fixes #3017
- closes #3214
2016-02-08 17:15:13 +01:00
Mickey Rose
ed8c8df738 expression_grammar: use one symbol table for all constants 2016-02-06 18:40:33 +01:00
Mickey Rose
959d4ded23 image_filter_grammar: rewrite using Nabialek trick 2016-02-06 02:03:55 +01:00
artemp
cb708d7f5a transform_grammar: correct and simplify rules per bcc7495a87 (commitcomment-15915607)
image_filter: relax `agg-stack-blur` rule to allow `agg-stack-blur,agg-stack-blur(),agg-stack-blur(1),agg-stack-blur(1,1)` syntax + add image filter parsing tests
2016-02-05 16:50:49 +01:00
artemp
bcc7495a87 transform grammar - fix optional seprator logic 2016-02-05 13:08:17 +01:00
artemp
7ab93a30f2 mapnik::value_null - correct <=, >= return values ref #3285 2016-02-04 10:06:11 +01:00
artemp
35ab8cccdc follow up on previous commit - convert to common_type prior applying / (MSCV C4804) 2016-02-03 12:45:29 +01:00
artemp
376ffba7fe convert value_bool to value_integer before operator / (fixes unsafe use of bool - MSVC C4804) 2016-02-03 12:35:09 +01:00
artemp
c0724a6d95 value comparison - deduct return type automatically (fixes MSVC C4800) 2016-02-03 12:33:15 +01:00
Dane Springmeyer
1600bfe981 remove dead code in enumeration.hpp 2016-02-02 12:35:19 -08:00
Dane Springmeyer
09f137796d use std namespace for clib functions and fix spelling in comments 2016-02-02 12:35:19 -08:00
Dane Springmeyer
834028db7a remove miniz support - library is unused in mapnik and unmaintained since 2013 (https://code.google.com/archive/p/miniz/) 2016-02-02 11:37:26 -08:00
artemp
39a97865fc image_filter_grammar - move 'BOOST_FUSION_ADAPT_STRUCT` into *_impl.hpp 2016-02-02 11:30:00 +01:00
Mickey Rose
239623f976 remove unused variable [skip ci] 2016-01-30 03:24:07 +01:00
Mickey Rose
a8d8a0d74f make clang happy - const default initialization
http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#253
http://stackoverflow.com/questions/7411515/why-does-c-require-a-user-provided-default-constructor-to-default-construct-a
http://stackoverflow.com/questions/21900237/do-i-really-need-to-implement-user-provided-constructor-for-const-objects
2016-01-30 02:03:25 +01:00
Mickey Rose
be5d772d6c attempt to fortify mapnik::value conversion construction
- including correct noexcept specifier
- adding conversion-assignment operator wasn't really necessary,
  but it might be more efficient since it avoids constructing an
  intermediate variant
2016-01-30 02:03:25 +01:00
Mickey Rose
400e05585f refine noexcept specifiers on forwarding conversion constructors 2016-01-30 02:03:25 +01:00
Mickey Rose
b2c14972de remove explicitly-defaulted constructors and assignment operators ...
... where they should be implicitly defined by the compiler
2016-01-30 02:03:25 +01:00
Dane Springmeyer
bc89f7f877 upgrade to latest variant - refs mapbox/variant#73 2016-01-29 15:54:15 -08:00
artemp
64c2ad1e93 Just let the compiler generate move/copy for mapnik::value - via @lightmare ref https://github.com/mapnik/mapnik/issues/3274#issuecomment-176730124 2016-01-29 15:05:08 +01:00
artemp
a50036d421 value - make noexcept conditional + add move assigment operator 2016-01-29 13:07:43 +01:00
Mickey Rose
1eb298f48c fix text_render_thunk construction
- this reverts render_thunk_extractor visitation by text/shield
  symbolizer back to how it works in master, only amended to avoid
  passing temporaries to text_symbolizer_helper
2016-01-29 00:12:18 +01:00
Mickey Rose
6d84094f77 move render_markers_symbolizer to separate .cpp 2016-01-29 00:12:18 +01:00
Mickey Rose
f99c0e5a6f refactor render_markers_symbolizer 2016-01-29 00:10:19 +01:00
Mickey Rose
8a55eefbb5 derive virtual_renderer_common from renderer_common 2016-01-29 00:10:19 +01:00
Mickey Rose
844021a892 make face_manager copyable 2016-01-29 00:10:18 +01:00
Mickey Rose
a7ecabcde3 move render_group_symbolizer to separate .cpp
- use abstract class render_thunk_list_dispatch for the callback
  instead of template parameter render_thunks
- add class scoped_glyph_positions_offset for temporary shifting
  of glyph positions
- remove render_offset_placements
2016-01-29 00:10:18 +01:00
Mickey Rose
9d7b3d00e1 minor namespace cleanup in group_layout_manager 2016-01-29 00:10:18 +01:00
Mickey Rose
7761d32ec5 split common group symbolizer stuff 2016-01-29 00:10:18 +01:00
lightmare
5663e2daaf Merge pull request #3245 from lightmare/movable
add util::movable to complement util::noncopyable
2016-01-28 19:16:26 +01:00
artemp
ea68e202be Merge branch 'master' into visitor-no-copy 2016-01-27 17:10:51 +01:00
artemp
d027ed67c7 more const strictness, update to work with latest mapbox::variant/visitor-no-copy branch 2016-01-27 14:50:17 +01:00
artemp
4e8bbe48df fix return type 2016-01-27 12:05:39 +01:00
Dane Springmeyer
753a0ad216 give users a hint on what to do when they hit 'Invalid index file' 2016-01-26 12:19:34 -08:00
artemp
fa5bbd99fa mapnik::value - refactor, synchronise and simplify comparisons implementations 2016-01-25 12:27:52 +01:00
artemp
9774f41b85 mapnik::value_null - add <,<=,>,>= implementations 2016-01-25 12:26:57 +01:00
Mickey Rose
0784e36754 add util::movable to complement util::noncopyable 2016-01-22 00:24:24 +01:00
artemp
0e836d7e20 mapnik::value - add value_bool/value_bool impl 2016-01-21 18:35:53 +01:00
artemp
85c3f5dbc1 improve type promotion across arithmetic ops 2016-01-21 18:14:55 +01:00
artemp
e100037288 mapnik::value - improve type promotion for impl::add 2016-01-21 12:47:56 +01:00
artemp
f41d515572 fix operator<< 2016-01-19 11:38:52 +00:00
artemp
c615708a2a restore local variant_io.hpp with specialisation for bool (https://github.com/mapnik/node-mapnik/issues/582) 2016-01-15 09:26:42 +00:00
Artem Pavlenko
7997f3725e Merge pull request #3235 from mapnik/raster_mem_ds
Raster Type Memory Datasource
2016-01-14 16:19:43 +00:00
artemp
3333f3e1fa inherit mapnik::util::variant from mapbox::variant and add mapbox::variant as submodule 2016-01-14 15:02:41 +00:00
Blake Thompson
044c21db13 Made it possible to change the type of a memory datasource by inspecting the features that are added to the memory datasource 2016-01-14 08:36:12 -06:00
artemp
0a5f006bb9 SVG : add support for stroke-dashoffset 2016-01-11 10:56:04 +00:00
artemp
d3fc7f8fed Merge branch 'master' into svg-dash-array 2016-01-08 16:08:11 +00:00
artemp
9494bc15d4 SVG path parser - correct handling optional separator (,) between multiple command parts (#3225)
http://www.w3.org/TR/SVG/paths.html#PathElement
2016-01-08 12:00:51 +00:00
artemp
a8bf7c72f9 Merge branch 'master' into svg-dash-array 2016-01-08 10:46:17 +00:00
artemp
c8932b3df3 svg2png : use SVG dimensions as a fallback when bounding box has zero width or height (e.g horizontal or vertical line) 2016-01-08 10:20:50 +00:00
artemp
b1c22ba853 SVG :initial support for "stroke-dasharray" 2016-01-07 15:54:34 +00:00
Artem Pavlenko
513cfa7c80 Merge pull request #3219 from mapnik/address-sanitizer-happy
keep address-sanitizer happy ref (https://github.com/mapbox/mapnik-ve
2016-01-07 14:23:54 +00:00
artemp
ca83ca167d svg - move stroke-dasharray setup into dash-array parser method 2016-01-07 11:20:22 +00:00
artemp
e296e554a8 sync with 3ac6e46d01 2016-01-06 12:24:24 +00:00
artemp
50905c3f9a c++ style pedantic 2016-01-06 12:23:59 +00:00
artemp
7b2da35c01 fix typo doh 2016-01-05 19:52:36 +00:00
artemp
5cd3645cd1 keep address-sanitizer happy ref (https://github.com/mapbox/mapnik-vector-tile/pull/171) 2016-01-05 16:58:37 +00:00
artemp
ee0395df7a add basic read/write header support (quad_tree + spatial_index) ref (#3216) 2016-01-05 10:20:21 +00:00
artemp
e0c756ee8d geometry_envelope - add missing linear_ring 2015-12-17 12:07:05 +00:00
Dane Springmeyer
bd21e452d1 fix minor header glitches to allow headers to compile standalone 2015-12-16 14:22:36 -08:00
Dane Springmeyer
a0719870ab remove out of date/unused header 2015-12-16 14:22:09 -08:00
Dane Springmeyer
ce98a5c811 fix header glitches uncovered by time-header script - refs #3208 2015-12-16 13:17:19 -08:00
artemp
599b021175 support arbitrary (nested) attributes in JSON Geometry 2015-12-14 11:46:39 +00:00
Dane Springmeyer
50d1e2fbb3 handle more gcc 4.9 -Wshadow warnings 2015-12-04 14:07:42 -05:00
Dane Springmeyer
a58ef62fc2 start fixing gcc 4.9 -Wshadow warnings 2015-12-02 15:54:58 -05:00
Jiri Drbalek
100e3c4995 centroid: enable algorithm on multi-geometries with empty sub-geometries 2015-11-24 15:41:34 +00:00
Dane Springmeyer
9a29b5005d fix #3178 2015-11-19 20:57:05 -08:00
Dane Springmeyer
c6d6153964 fix multiple -Wunused-parameter warnings [skip ci] 2015-11-19 17:14:58 -08:00
artemp
da617f92eb add scale_image_agg' and reproject_and_scale_raster` overloads for backward caps 2015-11-19 12:26:16 +00:00