artemp
49c28cb6ad
new font fallback implementation - it is rather inefficient but attempting to do a right thing.
...
(NOTE: some visual text failures need further look to see if latest implementation is correct)
2017-02-17 14:20:32 +01:00
Mickey Rose
2587bb3a1d
sql_utils: improved table_from_sql
2017-02-10 18:55:22 +01:00
Mickey Rose
a4e8ea21be
sql_utils: deprecate flawed un-quote functions
...
unquote* just strip all quotes from both ends of the string,
and don't collapse inner quotes.
quote_attr doesn't duplicate inner quotes.
2017-02-10 18:55:22 +01:00
Mickey Rose
7b217133e2
sql_utils: on-the-fly quoting via operator <<
2017-02-10 18:55:22 +01:00
artemp
755d178d20
alternative exaustive face fallback implementation ref #3534 #3559
2017-01-31 17:44:25 +01:00
artemp
d053bddb43
add support for PNG filters ( http://www.libpng.org/pub/png/libpng-manual.txt ) ref #3479
2017-01-26 15:45:08 +01:00
artemp
2ede054e93
c++ style - use pre-(de)increment operators by default
2017-01-26 14:19:28 +01:00
artemp
f13848e210
move box2.hpp
and related files into geometry
dir
2017-01-26 09:51:37 +01:00
artemp
a220bda05d
check return value from std::fread
2017-01-13 14:38:00 +01:00
artemp
f76060274d
Revert back again fixing a typo! (thanks @springmeyer 2f55f0962e (commitcomment-20461372)
)
...
"It doesn't work with GCC reverting back "disable [-Wunused-result] warning GCC : https://gcc.gnu.org/bugzilla/show_bug.cgi?id=25509 ""
This reverts commit 2f55f0962e
.
2017-01-13 09:42:12 +01:00
artemp
0a7e8bb429
fix GCC shadows a member warning [-Wshadow]
2017-01-12 17:48:56 +01:00
artemp
2f55f0962e
It doesn't work with GCC reverting back "disable [-Wunused-result] warning GCC : https://gcc.gnu.org/bugzilla/show_bug.cgi?id=25509 "
...
This reverts commit 3c76e8d7ef
.
2017-01-12 11:39:57 +01:00
artemp
3c76e8d7ef
disable [-Wunused-result] warning GCC : https://gcc.gnu.org/bugzilla/show_bug.cgi?id=25509
2017-01-12 11:23:46 +01:00
artemp
7db3beda01
add parentheses to supress gcc warning [-Wparentheses]
2017-01-12 10:55:33 +01:00
artemp
de2b44712a
move transform related headers into transform
dir to minimize clutter
2017-01-11 11:10:03 +01:00
artemp
91f9508654
relax expression_grammar: allow _
underscore characters in global attribute names
2017-01-11 10:38:11 +01:00
artemp
f207ec2da2
cleanup
2017-01-10 17:19:28 +01:00
artemp
65dcb1c935
fix transform grammar to support whitespace/comma argument separation rules ( https://github.com/mapnik/mapnik/pull/1416 ) ref #3569
2017-01-10 17:13:45 +01:00
artemp
7326c0d558
expressions - simplify attribute parsing by combining feature attribute and geometry_type attribute processing.
2017-01-10 11:54:08 +01:00
Artem Pavlenko
e5a93bce52
Merge pull request #3596 from mapycz/text-simple-placement-center
...
Text simple placement: add center 'C' placement
2017-01-09 11:57:03 +01:00
artemp
6190784350
remove remaining usage of deprecated dymamic exceptions: dtors are implicitely noexcept
+ qualify what
methods with noexcept
2017-01-09 11:47:52 +01:00
Jiri Drbalek
4eae86b7bc
text simple placement: add center 'C' placement
2017-01-08 09:05:44 +00:00
artemp
07ab49830f
disable is_substitute
instantiation for BOOST_VERSION > 106300, fixes gcc6+boost-1_63 build
2017-01-04 18:39:42 +01:00
artemp
e210dfaf8c
fix GCC warning by adding missing parentheses around comparison in operand of '|'
2017-01-04 18:23:31 +01:00
Mickey Rose
962bcf84c5
change render_thunk_list to std::list<render_thunk>
...
Wrapping render_thunk in std::unique_ptr is one extra allocation per
element, with no purpose. The somewhat costly xyz_render_thunk move
constructor is only called once upon insertion, regardless of whether
we're emplacing render_thunk or unique_ptr.
2017-01-03 20:53:55 +01:00
artemp
d3a9e4c4d7
revive support for an empty array => geometry_empty
...
RFC 7946 "...GeoJSON processors MAY interpret Geometry objects with
empty "coordinates" arrays as null objects."
2017-01-03 16:17:46 +01:00
artemp
7a8e8014b7
Revert "add ```template <typename T>" - oops we don't need this in master!
...
This reverts commit b3c4aff2c7
.
2017-01-03 11:28:40 +01:00
artemp
b3c4aff2c7
add ```template <typename T>
...
transform_node(boost::value_initialized<T> const&)
: base_() {}
``` to address
```c:\mb\windows-builds-64\packages\mapnik-windows\include\mapnik/transform_expression.hpp(175):
error C2664: 'mapbox::util::variant<mapnik::identity_node,mapnik::matrix_node,mapnik::translate_node,mapnik::scale_node,mapnik::rotate_node,mapnik::skewX_node,mapnik::skewY_node>::variant(mapbox::util::variant<mapnik::identity_node,mapnik::matrix_node,mapnik::translate_node,mapnik::scale_node,mapnik::rotate_node,mapnik::skewX_node,mapnik::skewY_node> &&) noexcept(false)':
cannot convert argument 1 from 'const boost::value_initialized<T>' to 'mapbox::util::no_init' [c:\mb\windows-builds-64\packages\mapnik-windows\mapnik-gyp\build\mapnik.vcxproj]
```
when building with VS2017 RC
2017-01-03 11:24:32 +01:00
lightmare
e41f41b0a6
Merge pull request #3566 from mapycz/better-largest-bbox
...
Better largest bbox
2017-01-02 03:25:14 +01:00
lightmare
a40ce9eefd
Merge pull request #3578 from mapnik/cxx11-friendly
...
C++14-like type traits aliases
2017-01-02 03:24:59 +01:00
artemp
ed648ced46
SVG transform - implement in terms of boost::spirit::x3
2016-12-23 16:32:05 +01:00
artemp
3b52ae97c0
add missing header
2016-12-23 14:42:18 +01:00
artemp
95cc560167
SVG points - implement using boost::spirit::x3 + refactor parse_rule
instantiations into separate *.cpp
2016-12-23 14:40:59 +01:00
artemp
584fda88e0
SVG path grammar - return start rule by const&
2016-12-23 13:26:37 +01:00
artemp
30749031cf
SVG path parser - boost::spirit::x3 based implementation
2016-12-22 14:57:26 +01:00
artemp
9d0096eff6
remove unused include directive
2016-12-21 15:20:52 +01:00
artemp
506390b735
use curly braces initialiser (c++ style)
2016-12-21 09:05:31 +01:00
artemp
5745bedbd9
update copyright year to 2016
2016-12-20 17:57:22 +01:00
artemp
7f4fd0cc76
include guards - add missing and normalise namings
2016-12-20 17:45:38 +01:00
artemp
b73901edab
remove from forthcoming 3.1.x release
2016-12-20 17:45:00 +01:00
artemp
f3cd36f0cd
reserve std::vector capacity prior oppending + remove const qualifier
2016-12-20 10:40:50 +01:00
artemp
8b049230b3
topojson_grammar_x3 : make rules const
2016-12-20 10:31:52 +01:00
artemp
f1ccc66162
avoid parsing synthesised std::tuple<> + more fine-grained rules
2016-12-19 17:53:58 +01:00
artemp
18f721fd17
TopoJSON - implement parsing using spirit::x3
2016-12-19 16:18:19 +01:00
artemp
053eca1232
JSON - add geometry_grammar_x3
2016-12-16 11:21:20 +01:00
Mickey Rose
e6ed16e94e
make mapnik_value_type_t C++11-friendly
2016-12-15 11:58:50 +01:00
Mickey Rose
568507349b
bring C++14 type traits aliases for C++11 support
2016-12-15 11:51:02 +01:00
artemp
7affd45511
refactor json_value into separate header and reduce include
bloat
2016-12-15 11:29:29 +01:00
artemp
4ba87b1e9d
c++14 support is not sufficient on windows: reverting back and start tracking Windows workarounds in separate branch
...
Revert "move BOOST_SPIRIT_DEFINE into separate headers + use across all grammar defs (#3573 )"
This reverts commit 81cfa721db
.
Revert "windows : fix errors C3259 + C3249"
This reverts commit 8327905aba
.
Revert "Workaround for VC++ C2995 via redifining BOOST_SPIRIT_DEFINE macro (#3573 )"
This reverts commit 2a2f0bf00a
.
2016-12-14 17:11:59 +01:00
artemp
81cfa721db
move BOOST_SPIRIT_DEFINE into separate headers + use across all grammar defs ( #3573 )
2016-12-14 16:35:24 +01:00
artemp
8327905aba
windows : fix errors C3259 + C3249
2016-12-14 15:53:07 +01:00
artemp
2a2f0bf00a
Workaround for VC++ C2995 via redifining BOOST_SPIRIT_DEFINE macro ( #3573 )
2016-12-14 15:10:22 +01:00
Mickey Rose
7c14964de3
simplify mapnik::value conversion rules
...
- fixes #3570
- avoids recursive exception-specification on value constructor
by only constructing a temporary for arithmetic types (everything
else passes a reference to the base variant constructor)
- also removes `is_same<decay_t<T>, value>` SFINAE check -- because
we're only passing a reference down, explicitly forcing the compiler
to use the implicitly-defined copy/move instead is pointless
2016-12-14 02:37:27 +01:00
artemp
c2a61161a6
remove hash_combine
(unused)
2016-12-13 15:51:57 +01:00
artemp
0307499753
simplify hash calculation (we don't need combine with which(), using hash<T> is sufficient)
2016-12-13 15:50:00 +01:00
artemp
8e15353818
minor format tweak
2016-12-13 15:49:03 +01:00
artemp
2924d736a8
update version to 3.1.0
2016-12-09 17:07:23 +01:00
artemp
0d703ee552
cleanup include directives
2016-12-08 18:55:55 +01:00
artemp
fe7e9a7dc5
use mapbox namespace to fix name resolution
2016-12-06 15:14:28 +01:00
artemp
df10fab439
only add valid
bounding boxes (make backward compatible)
2016-12-06 12:23:09 +01:00
Jiri Drbalek
2174c10b2f
find max element instead of std::sort
2016-12-03 14:33:55 +00:00
Dane Springmeyer
8262eb5206
avoid -Wshadow and 'unrecognized command line option' with gcc
2016-12-02 13:43:43 -08:00
artemp
5ea5f18a7e
cleanups
2016-12-02 12:42:07 +01:00
artemp
6824f4c477
fix more gcc warnings
2016-12-02 11:42:57 +01:00
artemp
069de8e266
fix gcc6 compilation issue
2016-12-02 11:04:11 +01:00
artemp
2f8da6dfd5
reduce compiler warnings (gcc 6)
2016-12-01 17:17:56 +01:00
artemp
b01481ded7
refactor feature_grammar_x3 to have a cleaner separation between feature and geometry rules
2016-11-30 11:33:35 +01:00
artemp
2dc57effb8
allow null
geometry
2016-11-29 16:26:58 +01:00
Jiri Drbalek
2b852ad1f9
remove methods that are not referenced anywhere
2016-11-29 14:55:06 +00:00
artemp
36eb7f61bd
implement from_geojson in terms of parse_(feature|geometry)
2016-11-29 10:48:06 +01:00
artemp
941a025682
remove spirit::qi usage from (Geo)JSON
2016-11-29 10:46:23 +01:00
artemp
160c1c9471
pass iterator pair by ref,const& ref to match spirit::x3 APIs and be able check for fully consumed input (needed by geojson.input logic)
2016-11-28 18:40:03 +01:00
artemp
f4f39993d0
allow accessing geometry by ref
2016-11-28 18:38:40 +01:00
artemp
cc9f23c470
allow empty "properties"
2016-11-28 18:38:04 +01:00
artemp
b05d0caba1
implement support for "GeometryCollection" type
2016-11-28 17:05:46 +01:00
artemp
0ea1c7cce2
Merge branch 'master' into develop-master
2016-11-28 15:26:13 +01:00
artemp
af1b39c689
support both box2d<float> and box2d<double>
2016-11-28 10:14:49 +01:00
artemp
d4e1cb9ae7
add an extra extract_bounding_boxes_reverse_context_type definition
2016-11-27 17:06:02 +01:00
artemp
f32b423428
attempting to keep clang on Travis happy
2016-11-25 17:59:44 +01:00
artemp
483f709541
don't include xxx_def.hpp + make rules const
2016-11-25 16:52:56 +01:00
artemp
8a436c8cdc
add extract_bounding_boxes_x3 parser configuration
2016-11-25 16:49:42 +01:00
artemp
be4f9ca79b
add missing context type definitions + BOOST_SPIRIT_INSTANTIATE_UNUSED macro to instantiate parse_rule
with boost::spirit::x3::unused_type
attribute
2016-11-25 16:46:10 +01:00
artemp
163a82fd1e
add feature_grammar_x3 implementation
2016-11-25 16:45:23 +01:00
artemp
cad029bf7c
make hex rules const
2016-11-25 16:44:20 +01:00
talaj
994a327c7f
remove superfluous declaration
2016-11-25 13:31:55 +01:00
artemp
23ba18ead2
make rules const
2016-11-25 11:48:16 +01:00
artemp
988966c68e
declare in using one macro
2016-11-25 11:47:33 +01:00
artemp
4aa60d669e
adapt box2d<float> to boost::geometry
2016-11-23 18:22:11 +01:00
artemp
71c112a0b0
add coord2f type
2016-11-23 18:21:44 +01:00
artemp
a112e88e23
fix compilation - move extract_bounding_boxes into mapnik-index src dir
2016-11-23 17:44:35 +01:00
artemp
ed5ee69c3c
refactor GeoJSON bounding box extraction into separate method for re-use and more...
2016-11-23 16:18:38 +01:00
artemp
20d6f84b3b
use char const*
2016-11-22 10:43:41 +01:00
artemp
2a0bc9db6c
GeoJSON - refactor feature/geometry parsing
2016-11-21 16:08:15 +01:00
artemp
3d629bf76d
add missing generic_json_grammar_x3
2016-11-21 11:15:21 +01:00
artemp
ead152499b
fix - ensure stringifier called recursively for nested json objects
2016-11-18 09:42:47 +01:00
artemp
493b662f16
add create_feature
helper method (geojson_value -> mapnik::feature_impl)
2016-11-17 16:44:09 +01:00
artemp
21a121df18
avoid name clashing
2016-11-17 13:13:07 +01:00
artemp
ca96d3e137
fix duplicate feature to geojson code
2016-11-17 10:33:05 +01:00
artemp
190023a085
remove unused include (#include <mapnik/json/value_converters.hpp>)
2016-11-17 10:31:55 +01:00
artemp
fec5715a69
update to use boost::bimap
2016-11-16 16:05:40 +01:00
artemp
4588c23274
use boost:bimap
to store key/name mapping for inverse searching caps
2016-11-16 16:04:54 +01:00
artemp
69b79b303f
make create_geometry a method
2016-11-16 16:03:25 +01:00
artemp
c2d7ecbef7
move keys_map initilizer with well-known-names into separate inline method
2016-11-15 17:23:27 +01:00
artemp
1b74544b08
start well-known-names enum from 1 + pre-initialise keys_map with well-known-names
2016-11-15 11:18:44 +01:00
artemp
d6bedd235c
parse well-known-names as un-quoted strings
2016-11-15 11:16:58 +01:00
artemp
1e238be7ee
move wkn_to_string to json_grammar_config.hpp
2016-11-15 10:15:10 +01:00
artemp
ae30675e98
move json well_known_names
2016-11-15 10:13:36 +01:00
Dane Springmeyer
3283f50639
Merge branch 'master' of github.com:mapnik/mapnik into develop-master
2016-11-14 15:32:39 -08:00
Dane Springmeyer
5a6d16d4fe
default scale_factor for filter_visitor (unbreaks node-mapnik compile)
2016-11-14 15:31:18 -08:00
Dane Springmeyer
4449f81e03
restore to_wkt on geometry<std::int64_t>
2016-11-14 15:23:29 -08:00
Dane Springmeyer
657dd7d73a
suppress boost warnings
2016-11-14 15:04:07 -08:00
artemp
92d35d1e40
fix json_value name clashing + add skeleton feature validation method
2016-11-14 12:18:36 +01:00
artemp
2b6f23890b
remove redundant mapnik::util::recursive_wrapper
2016-11-14 12:13:26 +01:00
artemp
fd36ac5279
Merge branch 'master' into geometry-refactor
2016-11-10 18:01:11 +01:00
artemp
6fb3dbd63f
remove BIGINT redifinition
2016-11-10 17:28:16 +01:00
artemp
e46a52c3f0
GeoJSON - spirit::x3 based parsing building blocks
2016-11-10 17:26:24 +01:00
artemp
88b16e0ca8
pass context by const ref + extract _attr(ctx) once and re-use
2016-10-20 17:16:03 +02:00
artemp
eea427b19f
cleanup include directives
2016-10-19 13:15:59 +02:00
artemp
7622aa25be
cleanup include directives
2016-10-19 13:15:15 +02:00
artemp
e74af890fb
Silence -Wundefined-var-template
warnings in enumeration.hpp
2016-10-17 16:58:22 +02:00
artemp
9846632daa
Merge branch 'master' into develop-master
2016-10-17 16:56:08 +02:00
Jiri Drbalek
b830469d2d
multiply blur radius by scale_factor
2016-10-17 11:59:21 +00:00
artemp
6790e27712
remove redundant includes directives
2016-10-17 10:49:56 +02:00
artemp
62012fbf19
re-use literal parser implementation between separator
and quote
primitives
2016-10-14 14:32:44 +02:00
artemp
83cc819c39
upgrade CSV parser to boost::spirit::x3
2016-10-14 14:24:44 +02:00
artemp
01fbbafc26
remove duplicate 'transcoder_tag`
2016-10-14 09:24:52 +02:00
artemp
4c7d4a51e6
remove unused <bitset> header
2016-10-13 17:00:12 +02:00
artemp
b27cddc101
Silence -Wundefined-var-template
warnings in enumeration.hpp
2016-10-13 17:00:12 +02:00
artemp
d934630bc5
Fix clang >= 3.9.0 compilation by using mapbox::util::variant
as alias (via deps/mapbox/variant => "types" branch)
2016-10-13 17:00:12 +02:00
artemp
ab86171c2b
GeoJSON generator - implement using geometry<double> karma adapters
2016-10-13 17:00:12 +02:00
artemp
b770db56c3
remove unused rule
2016-10-13 17:00:12 +02:00
artemp
9de3c80b0d
add specialisations for coord_type = std::int64_t
2016-10-13 17:00:12 +02:00
artemp
a63a491ba0
wkt generator - remove boost::phoenix headers
2016-10-13 17:00:12 +02:00
artemp
beee2fd539
mapnik::geometry - refactor karma adaper into separate header for re-use
2016-10-13 17:00:12 +02:00
artemp
9853353353
adapt mapnik::geometry::geometry<double>
to work with boost::spirit::karma
+ simplify and optimise WKT generator
2016-10-13 17:00:12 +02:00
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