Gaetano Checinski
e583063ab5
fix: makes serveral header definitions static to support static library builds
2018-12-03 09:58:18 +00:00
Jiri Drbalek
2344fe3ac2
Vector patterns with Cairo
2018-11-21 12:20:31 +00:00
Artem Pavlenko
940f0dc39d
bump version to 4.0.0
2018-11-21 11:03:00 +00:00
Artem Pavlenko
9406eb4c44
use c++-stype casts + compare the same types
2018-11-20 14:35:36 +00:00
Artem Pavlenko
c08b639902
fix compiler warnings e.g warning: class 'xxx' was previously declared as a struct [-Wmismatched-tags]
2018-11-20 14:13:25 +00:00
Artem Pavlenko
c6cd132c31
explicit cast to native enum type in switch statements to address error: case value is not a constant expression
...
(clang version 8.0.0 (trunk 347189))
2018-11-20 13:47:44 +00:00
talaj
7dcf5ee082
Merge pull request #3989 from mapycz/fix-pattern-alignment
...
True global pattern alignment, fixed local alignment
2018-11-02 14:31:31 +01:00
Jiri Drbalek
3b188b4c26
Remove method declaration that is not implemented
2018-10-20 20:59:20 +00:00
Tomek Dubrownik
c067eb7eec
Compatibility patch for Boost GIL v1.68
...
A number of basic typedef were removed in the Boost GIL 1.68 release,
notably `bits32` and `bits32f`. Additionally the
`GIL_DEFINE_ALL_TYPEDEFS` macro signature changed.
This commit introduces compatibility type aliases and conditionally
calls the new macro if `BOOST_VERSION` is high enough.
2018-09-29 13:43:44 +08:00
Jiri Drbalek
776fa0d2f8
True global pattern alignment, fixed local alignment
2018-09-19 13:21:59 +00:00
Jiri Drbalek
692fc7f107
render_pattern() needs its own rasterizer
2018-09-19 08:33:24 +00:00
Jiri Drbalek
d823378260
Polygon pattern on line geometries for Cairo backend
2018-09-18 12:12:21 +00:00
Jiri Drbalek
18c1a99604
Polygon pattern on line geometries for AGG backend
2018-09-18 12:12:21 +00:00
lightmare
a6e0b6b857
Merge pull request #3958 from mapycz/fix-buffer-size-with-scale-factor
...
Fix buffer-size with scale-factor
2018-08-14 17:11:31 +02:00
Mickey Rose
8a1fdb3900
dodge operator precedence warning
2018-08-13 19:11:58 +02:00
Mickey Rose
2b8226316f
topojson: fix parsing empty topology
2018-08-13 19:08:38 +02:00
Artem Pavlenko
c2251faa91
second time lucky
2018-08-07 14:58:21 +01:00
Artem Pavlenko
242c9eba3c
Revert "opps, adding lost change (re: boost>=1.67)"
...
This reverts commit 22f913d892
.
2018-08-07 14:26:34 +01:00
Artem Pavlenko
22f913d892
opps, adding lost change (re: boost>=1.67)
2018-08-07 14:09:30 +01:00
Jiri Drbalek
8a0dca38a3
Fix buffer-size with scale-factor
2018-08-01 08:06:37 +00:00
Artem Pavlenko
af842a8bf9
Merge branch 'pi-is-wrong' of https://github.com/lightmare/mapnik into lightmare-pi-is-wrong
2018-07-30 10:40:51 +01:00
Jiri Drbalek
4a93209423
render building symbolizer rewrite
...
- make projection and view transforms first
- removed dependency on segment_t
- no need for sorting faces
2018-07-27 10:23:33 +00:00
Artem Pavlenko
5eca7731e9
rely on implicit std::reference_wrapper<T> -> T conversions (thanks @lightmare)
2018-07-23 13:26:22 +01:00
Artem Pavlenko
93d0eea8af
Merge branch 'master' into boost_1_67
2018-07-23 11:35:14 +01:00
Artem Pavlenko
65080e2a95
add support for BOOST_VERSION < 106700
2018-07-23 10:58:27 +01:00
Emil Gedda
93c566638f
remove old render_box function declaration from cairo_renderer.hpp
2018-07-20 14:02:51 +02:00
Artem Pavlenko
5fe0dda890
Merge branch 'master' into boost_1_67
2018-07-20 11:53:47 +01:00
Artem Pavlenko
bdf7876652
const-ness
2018-07-19 15:36:00 +01:00
Artem Pavlenko
67dbb96580
use uint8_t to parse hex2 values to avoid overflowing (boost >= 1.67)
2018-07-19 15:34:40 +01:00
Artem Pavlenko
a98d1b8071
use std::uint8_t as an attribute for hex2 parser
2018-07-18 10:40:41 +01:00
Artem Pavlenko
4c31bd16d2
Merge branch 'master' into boost_1_67
2018-07-18 09:27:56 +01:00
Mickey Rose
f84191204e
eradicate M_PI
2018-07-16 14:18:49 +02:00
Mickey Rose
32e7202223
well_known_srs: move implementation to .cpp
...
- add lonlat2merc, merc2lonlat overloads for single point
- add stride argument to overloads for coordinate arrays
- make all functions exported
- change static string constants to exported
- change static numeric constants to constexpr
- remove superfluous numeric constants
2018-07-16 14:18:32 +02:00
Mickey Rose
e11f3a660a
offset_converter: minor refactoring
...
DRY: extract method for `joint_angle` calculation.
2018-07-14 12:46:53 +02:00
Mickey Rose
a0a2c78950
util/math: clamp, degrees, radians
...
Use common functions for degrees <-> radians conversions, except when
dealing with agg, where it makes sense to use available deg2rad/rad2deg
functions instead of including another header.
2018-07-13 12:34:25 +02:00
Mickey Rose
7c4ccf0209
make util::normalize_angle reasonably fast on large values
...
Because it simply calculates the remainder after division by full turn,
it shouldn't take time proportional to the magnitude of its operand.
2018-07-11 23:14:23 +02:00
Mickey Rose
c2c00570b3
define MAPNIK_MAKE_VERSION, MAPNIK_VERSION_AT_LEAST
2018-07-11 10:38:32 +02:00
Artem Pavlenko
2c2669d655
fixes typo ( #3930 )
2018-07-05 09:37:49 +02:00
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