Artem Pavlenko
9d44a73ad0
fix - add single quoted string escaped chars support + allow backtracking when escaped characters are not part of /u, /U. /x encodings (ref 3433397c30 (commitcomment-29512684)
)
2018-07-02 15:07:41 +02:00
Raul Marin
8e11ef3fd7
Improve padding calculation
2018-06-06 18:39:15 +02:00
Artem Pavlenko
95d5fabad0
Merge branch 'master' into boost_1_67
2018-05-21 15:58:24 +01:00
Raul Marin
0195047d7a
Marker symbolizer: Fix bug with lines with 0 length (division by zero)
2018-05-11 12:24:01 +02:00
Jiri Drbalek
89b5cb4f22
Remove useless ellipsoid.hpp
2018-05-08 15:39:13 +00:00
Artem Pavlenko
b7bdd08837
define BOOST_SPIRIT_INSTANTIATE_UNUSED once and re-use [skip-ci]
2018-04-18 14:18:40 +02:00
Artem Pavlenko
664d3508de
remove reference_wrapper usage when injecting attributes into grammar ( >= boost_1_67) [skip-ci]
2018-04-18 12:53:17 +02:00
Artem Pavlenko
9e79e1edf1
update const-ness in x3::context definitions to support boost 1_67 [skip-ci]
2018-04-17 15:41:17 +02:00
Artem Pavlenko
def0fd1f31
prepare for breaking change in spirit::x3 (from boost 1.67.0) - remove with_context
usage
...
(ref https://github.com/boostorg/spirit/pull/239 )
2018-04-16 15:25:39 +02:00
Artem Pavlenko
b392b8214e
add explicit instantiation declarations to DEFINE_ENUM macro to fix -Wundefined-var-template warnings.
2018-04-16 11:12:05 +02:00
Artem Pavlenko
fe5c4bb978
supress unused variable warning in boost state_machine
2018-04-16 11:08:08 +02:00
Raul Marin
1ddfe6c315
Qualify ICU types explicitly
...
ICU 61 has dropped the global `using namespace icu;`
http://site.icu-project.org/download/61#TOC-Migration-Issues
2018-04-03 13:18:43 +02:00
Blake Thompson
25e4bb3f6c
A fix for two distinct issues associated with gdal featuresets, the first is overviews were not properly being utilized based on the resolution of the final image requested. The second is that allocation of far too much memory could be possible in GDAL to attempt to do resampling internally in mapnik. This now has a hard cap so that we allocate less memory in these situations but are still able to resample internally in mapnik.
2018-03-30 15:10:29 -05:00
Artem Pavlenko
a8d7fc1cfb
Revert "avoid symbols duplication"
...
This reverts commit c737f4d56f
.
2018-03-15 15:58:23 +01:00
Artem Pavlenko
c737f4d56f
avoid symbols duplication
2018-03-09 09:57:49 +01:00
Artem Pavlenko
eb1a32eb79
fix dereferencing out-of-range iterator (caught by -fsanitize=undefined,integer) ( #3867 )
2018-03-01 11:54:41 +01:00
Artem Pavlenko
5b8b75e680
fix compiler warning
...
```include/mapnik/text/symbolizer_helpers.hpp:164:45: warning: template template parameter using 'typename' is a C++17 extension
[-Wc++17-extensions]
template <template <typename, typename> typename GridAdapter>
^~~~~~~~
class
```
2018-03-01 10:56:55 +01:00
Artem Pavlenko
3ad43a33ae
check language
variable to avoid SIGILL in '-fsanitize-trap=integer,undefined' builds.
2018-02-28 15:20:13 +01:00
Artem Pavlenko
37b7f05180
Merge branch 'offset-converter-topology' of https://github.com/mapycz/mapnik into mapycz-offset-converter-topology
2018-02-26 16:06:19 +01:00
Artem Pavlenko
8876d13356
improve errors reporting in mapnik-index
2018-02-21 16:02:12 +01:00
Artem Pavlenko
bac24cd844
Fix apply_color_blind_filter to use correct color-space and avoid NAN which results in SIGILL when compiled with DEBUG_UNDEFINED=yes ( #3861 )
2018-02-20 11:19:53 +01:00
Jiri Drbalek
b6c451d7e3
grid_vertex_converter: Fix handling of empty polygon
2018-02-13 15:00:25 +00:00
Jiri Drbalek
f10e051e17
Add grid placement for text and shield symbolizer
2018-02-06 15:19:05 +00:00
Jiri Drbalek
fb5ca1bb8e
offset_converter: Don't filter out closing and moving segments
2018-01-26 11:55:04 +00:00
Jiri Drbalek
99038229f7
Polylabel: cover the case of empty polygon or exterior ring
2018-01-17 13:39:15 +00:00
Jiri Drbalek
a97eace434
Interior: cover the case of empty polygon or exterior ring
2018-01-17 12:58:42 +00:00
Jiri Drbalek
ec53f3d879
Fix crash in case of empty ring
2018-01-17 09:53:45 +00:00
Artem Pavlenko
ff31c6d6eb
SVG parser - add ignore_
member variable to allow skipping of unsupported elements, currently clipPath
( #3818 )
2018-01-09 15:19:52 +00:00
Artem Pavlenko
c24568f033
Merge branch 'polylabel-as-interior' of https://github.com/mapycz/mapnik into mapycz-polylabel-as-interior
2018-01-08 10:21:09 +00:00
Artem Pavlenko
e2d741bdb7
Merge pull request #3809 from IMQS/pr-text-placements-export
...
Export all text_placements_ classes from mapnik.dll
2018-01-05 13:02:58 +00:00
Artem Pavlenko
c29f944726
Merge branch 'fix-group-symbolizer-crash' of https://github.com/lightmare/mapnik into lightmare-fix-group-symbolizer-crash
2018-01-05 12:16:41 +00:00
Artem Pavlenko
92afd0bebf
Use macro to apply __attribute__((init_priority(val)))
where it's supported (gcc+clang) ( #3821 )
2018-01-04 14:29:00 +00:00
Artem Pavlenko
50169e95b2
Enforce global variables initialisation order via __attribute__((init_priority(<priority>)))
( #3821 )
2018-01-04 12:22:04 +00:00
Artem Pavlenko
a67f5abb67
consistent syntax
2018-01-03 17:38:16 +00:00
Jiri Drbalek
f52a0fa4f6
new interior algorithm
2017-12-13 21:48:13 +00:00
Jiri Drbalek
ea7ba2c099
add polylabel placement method
2017-12-13 21:48:13 +00:00
Ben Harper
5507ab817a
Export all text_placements_ classes from mapnik.dll
...
Previously, only text_placements_dummy had a MAPNIK_DECL annotation.
This commit adds that annotation to text_placements_simple and
text_placements_list, so that they are also exposed from the Windows DLL
build.
2017-11-28 11:30:35 +02:00
Artem Pavlenko
3cb74f0871
attempting to fix #3793
2017-11-14 10:10:26 +01:00
Artem Pavlenko
97f520c7cf
cleanup
2017-11-14 10:10:26 +01:00
Jiri Drbalek
fe268b0e71
char_array_buffer should implement also seekpos()
2017-11-13 22:42:37 +00:00
Artem Pavlenko
5db45d9fa3
use semantic actions to fix #3744 ( >= boost_1_65)
2017-11-13 13:15:47 +01:00
Artem Pavlenko
743c14d3ff
add UDL via operator"" _case
2017-11-06 10:31:53 +01:00
Artem Pavlenko
2271e4a5a4
use unsigned int for indexed access
2017-10-31 10:52:09 +01:00
Ben Harper
05849f0da5
Add new angled-point marker placement mode for lines
...
This adds a new mode called 'angled-point' to the marker-placement modes.
The full list of modes is then:
point, angled-point, interior, line, vertex-first, vertex-last
Angled point is identical to point, except that when placing a marker on
a line, the marker's angle is taken from the angle of the line segment.
There is another possible use of the "angled-point" concept for polygons,
and that is for placing labels on stand (aka erf) polygons. By computing
a dominant angle for a mostly rectangular polygon, this can produce quite
good results. I'm not sure whether I should implement that now, or if I
could do that later.
2017-10-26 15:09:17 +02:00
talaj
f3cf1ad388
Fix centroid and interior algorithms ( #3771 )
...
* fix interior algorithm - closing segment handling
* fix centroid algorithm - closing segment handling
* update visual tests
2017-09-25 15:45:02 +02:00
Artem Pavlenko
3d4963f40c
move implementatio into *.cpp + return 'closest_point_result' struct.
2017-09-22 13:21:50 +02:00
Artem Pavlenko
143d1e57cf
add 'closest_point' geometry algorithm
2017-09-21 15:40:30 +02:00
Artem Pavlenko
5d5ef602be
rename 'geometry_type' to 'topojson_geometry_type' to avoid names clashing
...
(this was causing miscompilation on linux (ubuntu 17.04/clang))
2017-09-18 11:35:39 +01:00
talaj
d14203561d
color font support improvements ( #3758 )
...
👍
2017-09-13 10:14:46 +01:00
Artem Pavlenko
acec6ae824
Merge branch 'master' into bbox-index
2017-09-12 14:57:12 +01:00
Artem Pavlenko
8bc080c7b8
Merge branch 'nested-layers-fixes' of https://github.com/mapycz/mapnik into mapycz-nested-layers-fixes
2017-09-12 14:09:47 +01:00
Artem Pavlenko
04f9db4b18
minor format
2017-09-11 17:30:37 +01:00
Jiri Drbalek
6777721391
enclosing calls forgotten in https://github.com/mapnik/mapnik/pull/3474
2017-09-11 15:25:19 +00:00
artemp
441687ecff
boost_adapters - apply temp fix via @Algunenano for boost 1.64 (ref #3733 )
2017-08-21 14:14:00 +01:00
artemp
9b0fd7a8d7
boost_adapters - apply temp fix via @Algunenano for boost 1.64.
2017-08-21 14:12:12 +01:00
artemp
40c51c469c
shape.input/shapeindex - update to use bounding box per item *.index format.
2017-08-21 11:02:34 +01:00
artemp
6c19efa990
store box2d<float> directly in index_record to avoid conversions.
2017-08-18 16:59:58 +01:00
artemp
2aa0ce9d74
New *.index format (bounding box per item) implementation
2017-08-18 11:16:44 +01:00
artemp
2426a44671
initial updated spatial-index implementation
2017-08-16 13:59:44 +01:00
artemp
add410e619
use arch independent types for serialised values
2017-08-15 11:14:11 +01:00
artemp
c4a1df6e91
simplify impl + const correctness + minor cleanup
2017-08-15 11:13:11 +01:00
artemp
6f73181e9b
Enforce consistent error handling policy - always throw on fatal errors (both strict and non-strict). In strict
mode throw on first parsing error. Remove return values from parse
,parse_from_string
and traverse_tree
methods. Update unit tests.
2017-08-02 10:32:13 +01:00
artemp
093fcee6d1
only include <unicode/unistr.h> if ICU >= 59 (attempting to fix current coverage
build on travis).
2017-07-21 10:37:22 +02:00
artemp
9e58c89043
Add support for U_ICU_VERSION_MAJOR_NUM >= 59 ( #3729 )
2017-07-19 16:07:39 +02:00
artemp
3ae71eea0f
JSON - wrap lamda functions into anonymous namespace to fix linking on Windows with VS2017.
2017-07-06 16:09:38 +02:00
artemp
e653f4cc4c
make constructor explicit to avoid C2664 error with VS2017.
2017-07-06 16:01:06 +02:00
artemp
e08616aed3
Didn't play well with VS2017, reverting "re-use lamdas
definitions and aviod duplicate symbols when building with vs2017"
...
This reverts commit 4c9322bc0d
.
2017-07-06 11:17:14 +02:00
artemp
631c0a59c4
Revert "trying to inline
lambdas (VS2017) (!)" this is not allowed in c++14 requires c++17
...
This reverts commit 0ad1c58009
.
2017-07-06 11:14:24 +02:00
artemp
0ad1c58009
trying to inline
lambdas (VS2017) (!)
2017-07-06 11:11:01 +02:00
artemp
4c9322bc0d
re-use lamdas
definitions and aviod duplicate symbols when building with vs2017
2017-07-06 10:59:42 +02:00
artemp
148e77884c
don't include xml_parser_read_rapidxml.hpp - forward declaring xml_node
is sufficient.
2017-06-29 09:41:16 +02:00
artemp
3fbce913d0
store viewbox
transform
2017-06-29 09:41:16 +02:00
artemp
87abf93da3
move name_to_int
into separate header for re-use.
2017-06-29 09:41:16 +02:00
artemp
53a69463ea
SVG parser - add support for <use>
element (ref #763 ).
2017-06-29 09:41:16 +02:00
artemp
a4e8603af1
svg transform - correct rotate(<a> [<x> <y>])
rule (ref #763 )
...
(The transform attribute defines a list of transform definitions that are applied to an element and the element's children. The items in the transform list are separated by whitespace and/or commas, and are applied from right to left.)
2017-06-29 09:41:16 +02:00
artemp
b6aa45144c
svg_parser - refactor => remove mutable temporary_gradient_
member variable + process stop
elements from within linearGradient
and radialGradient
.
2017-06-29 09:41:16 +02:00
artemp
6da83bc986
svg_parser - store unresolved
gradient nodes for deferred initalisation.
2017-06-29 09:41:16 +02:00
artemp
ef6c2e71b8
svg-parser : handle parsing failures via error_handler
( throw in strict mode and log+continue when strict==false)
2017-06-29 09:41:16 +02:00
artemp
3f591af871
initial support for strict SVG parsing (WIP)
2017-06-29 09:41:16 +02:00
artemp
dfa8f100b2
freetype_engine - port singleton
changes from v3.0.x
2017-06-01 12:47:18 +02:00
Jiri Drbalek
7590cdabb0
fix typo in file name
2017-05-24 13:59:47 +00:00
Jiri Drbalek
0781f230be
fix polygon handling
2017-05-24 13:59:44 +00:00
Jiri Drbalek
4084e670ec
fix closing polygons on reprojection
2017-05-24 12:10:11 +00:00
artemp
1725b1ebba
TIFF.input - port changes from https://github.com/mapnik/mapnik/pull/3668 (ref #3669 )
2017-05-10 14:33:29 +02:00
artemp
97a796ba0e
fix polygon_coord
rule to generate required enclosing brackets.
2017-05-05 16:29:33 +02:00
artemp
333ef9fde1
update copyright year
2017-05-05 13:02:01 +02:00
artemp
d84991bae3
add debug log
2017-05-04 10:50:49 +02:00
artemp
85aebf7268
set most
common language based on script for each text run ( #3655 )
2017-05-03 10:23:42 +02:00
artemp
e75db3aa18
make box2d<T> adapters more generic.
2017-04-10 13:18:00 +01:00
artemp
20824cce79
add const_interior_rings
type and stop abusing type system. (NOTE: iterator/const_iterator types are required by boost::range_iterator)
2017-04-03 13:00:35 +01:00
artemp
53a32b59b9
add boost::geometry::traits::push_back
specialisation for mapnik::interior_rings<CoordinateType>
2017-03-30 14:04:57 +01:00
artemp
d96e6abe81
const correctness via @flippmoke
2017-03-30 09:54:12 +01:00
artemp
ef7da04cc9
cleanup
2017-03-30 09:23:58 +01:00
artemp
e3bf8cb558
use range based loop via @flippmoke
2017-03-30 09:23:11 +01:00
artemp
c28bf77d5d
Merge branch 'master' into geometry.hpp
2017-03-30 08:23:56 +01:00
artemp
dd079183c5
add boost::geometry::resize
and boost::geometry::clear
traits specialisations for mapnik::interior_rings<CoordinateType>
2017-03-29 17:44:07 +01:00
artemp
3e803b52bb
remove has_empty
+ fix is_empty
implementaion to work with geometry.hpp
2017-03-29 11:39:04 +01:00
artemp
064b99168b
geometry.hpp
2017-03-27 16:14:51 +01:00
artemp
60e6f5a9ff
geojson - fix geometry generator grammar.
2017-03-22 15:09:15 +00:00
artemp
38b4b65911
GeoJSON - refactor geometry generator to preserve geometry type in output (ref https://github.com/mapnik/python-mapnik/issues/139 )
2017-03-21 16:48:41 +00:00
artemp
b4b5e33b05
refactor WKT generator to retain geometry type for empty
geometries (avoid short-cutting to POINT EMPTY
)
...
For example:
| in | | out |
|`POINT EMPTY` | <--> | 'POINT EMPTY`|
|`LINESTRING EMPTY` | --> | 'POINT EMPTY`|
| in | | out |
|`POINT EMPTY` | <--> | 'POINT EMPTY`|
|`LINESTRING EMPTY` | <--> | 'LINESTRING EMPTY`|
etc.
2017-03-21 12:43:42 +00:00
artemp
d9063db0a0
GeoJSON - make geometry
element stricter and throw on invalid input.
2017-03-21 12:40:58 +00:00
artemp
5450255c5b
revert back to separate tests #if HB_VERSION_MAJOR > 0 #if HB_VERSION_ATLEAST(1, 0 , 5) ref #3642
2017-03-20 14:24:34 +00:00
Jiri Drbalek
d7ba7dc0db
agg renderer: recycle internal buffers
2017-03-16 06:54:16 +00:00
Jiri Drbalek
03929b5c76
nested layers, layer level comp-op and opacity
2017-03-16 06:54:16 +00:00
artemp
1d06afeea2
Merge branch 'postgis-quoting' of https://github.com/lightmare/mapnik into lightmare-postgis-quoting
2017-03-14 12:29:32 +00:00
artemp
c1053181f5
Merge branch 'text-extend' of https://github.com/mapycz/mapnik into mapycz-text-extend
2017-03-14 11:53:52 +00:00
artemp
0dff423c44
cleanup
2017-03-14 11:22:11 +00:00
artemp
203d767e73
follow up from 32f5703ed1
- more generic specialisation
2017-03-14 10:26:09 +00:00
artemp
32f5703ed1
provide is_substitute specialisation for mapnik::geometry::linear_ring<double> const& (gcc6)
2017-03-14 11:05:33 +01:00
artemp
a50efcb2bb
refactor unicode string grammar - add escaped_unicode
rule + use it in expressions.
2017-03-03 15:41:46 +01:00
artemp
fb7139bc63
expressions - only import escaped
rule from unicode_string_grammar and construct single/double quoted string rules locally to match expression grammar. NOTE: single quoted strings don't accept unicode encodings
2017-03-03 15:14:01 +01:00
artemp
92f07b7a7a
handle utf16 encoding correctly by parsing as sequence and applying utf16->utf32->utf8 conversion.
2017-03-01 18:46:48 +01:00
artemp
04dd05c971
minimise shared_ptr assignments and simplify code
2017-03-01 12:59:34 +01:00
artemp
d29be8a689
If I'm reading docs correctly \uNNNN
+ \UNNNNNNNN
are correct
...
Revert "relax hex4 parser to allow 5 character \unnnnn code points"
This reverts commit 378fa41db6
.
2017-03-01 12:08:22 +01:00
artemp
2d2c5a191b
expression_grammar: re-use unicode_string_grammar and add initial support for \uNNNNN
code points (TODO)
2017-03-01 11:58:18 +01:00
artemp
378fa41db6
relax hex4 parser to allow 5 character \unnnnn code points
2017-03-01 11:53:27 +01:00
artemp
571b2a0d6a
Merge branch 'harfbuzz-shaper' into color-emoji
2017-03-01 11:30:33 +01:00
artemp
7cb587a901
Merge branch 'master' into harfbuzz-shaper
2017-03-01 11:30:08 +01:00
artemp
131f785dce
Make parsing \xXX
format strict via hex2 parser + append UTF8 encoded \xXX
characters directly ( fixes #3631 )
2017-03-01 11:25:43 +01:00
artemp
e95b16c5ca
make hex parser strict (expecting two characters after \x) to avoid greedy parsing of trailing characters as in
...
"\xF0\x9F\x8D\xB7abc" ==> ... + "\xB7" + "abc" not "\xB7abc"
2017-03-01 10:35:39 +01:00
artemp
0076a5a916
make hex parser strict (expecting two characters after \x) to avoid greedy parsing of trailing characters as in
...
"\xF0\x9F\x8D\xB7abc" ==> ... + "\xB7" + "abc" not "\xB7abc"
2017-03-01 10:34:16 +01:00
artemp
570126bd76
make hex parser strict (expecting two characters after \x) to avoid greedy parsing of trailing characters as in
...
"\xF0\x9F\x8D\xB7abc" ==> ... + "\xB7" + "abc" not "\xB7abc"
2017-03-01 10:27:12 +01:00
artemp
cbacaaf0c5
initialize to reasonable values.
2017-02-28 15:05:37 +01:00
artemp
1b67779290
implement color bitmap extraction/scaling/compositing into target pixmap
2017-02-28 15:04:49 +01:00
artemp
7c93514fbc
avoid division by zero (units_per_EM is set to 0 for bitmap fonts)
2017-02-28 15:01:46 +01:00
artemp
8e97803e81
add color_font_ member
2017-02-28 14:59:14 +01:00
artemp
32e592fb7a
use explicit const&
2017-02-22 12:33:18 +01:00
artemp
d9c81d46fd
use else if
2017-02-20 12:12:22 +01:00
artemp
86e5f9305b
quarantee glyphinfos
has enough capacity to hold cluster
2017-02-17 17:16:36 +01:00
artemp
fbdff42d47
use std::vector<std::vector<T>>
instead of std::map<unsigned,std::vector>
to simplify lookups
2017-02-17 16:52:31 +01:00
artemp
20cafae780
ensure insert
has worked
2017-02-17 15:40:37 +01:00
artemp
e55918788c
fix test logic
2017-02-17 15:32:03 +01:00
artemp
302e4c75dd
simplify further
2017-02-17 15:28:13 +01:00
artemp
fe7d1e2f53
simplify logic
2017-02-17 15:23:00 +01:00
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