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
7712f253c9
represent value_null as an empty string e.g "" (text rendering logic)
2016-07-20 12:39:55 +02:00
artemp
dc88582b4d
Merge branch 'master' into geometry-refactor
2016-07-19 10:25:33 +01:00
artemp
3d0b109739
value_null - always represent as "null"
2016-07-15 12:22:53 +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
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
bab985dd04
always return am empty featureset instead of featureset_ptr()
2016-07-13 15:17:51 +01:00
artemp
dc74551dc0
always return am empty featureset instead of featureset_ptr()
2016-07-13 15:16:33 +01: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
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
7de7464caf
tidy
2016-06-22 17:25:37 +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
217d18a996
use std::deque to store svg::path_attributes
...
- refs #3453
2016-06-16 22:34:24 +02:00
Joris Valette
7ca86b0947
Fix stroke-width size not included in markers ellipse bounding box
2016-06-03 11:12:14 +02:00
artemp
efdc90f699
fix building with BIGINT=no (NOTE: some tests will fail)
2016-05-26 17:23:53 +02:00
artemp
a24dfbf6a0
simplify logic a bit
2016-05-26 16:27:22 +02:00
artemp
081c003b0e
c++ style
2016-05-26 16:27:22 +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
e596ffc1c2
don't instantiate types that are not used in core library
2016-05-03 18:33:06 +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
b930a5e7f7
apply scale factor to line spacing
2016-05-03 12:09:39 +00:00
Jiri Drbalek
cfc6b37d71
fix passing scale factor to evaluate_transform()
2016-05-03 12:09:39 +00: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
ed87cd2883
c++ - make bbox standalone method
2016-04-22 12:54:57 +02:00
artemp
4611d8cad1
c++ style : prefix increment
2016-04-22 12:54:57 +02:00
artemp
a89c3fc007
c++ - make bbox standalone method
2016-04-22 12:51:20 +02:00
artemp
51069fe88a
c++ style : prefix increment
2016-04-22 12:50:32 +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
artemp
633a2c1e07
Merge branch 'master' into geometry-refactor
2016-04-18 16:15:04 +02:00
artemp
c8902ac875
remove is_clockwise
, use mapnik::util::is_clockwise
to avoid duplication
2016-04-18 11:16:32 +02:00
artemp
2106d7b162
remove debug stderr
2016-04-12 14:48:24 +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
0f711c0863
geometry - move point/line_string/polygon into separate headers
2016-04-12 09:17:53 +02:00
artemp
b24ade9a1c
remove stderr for real
2016-04-11 13:08:19 +02:00
artemp
90f06093ae
geometry - move point/line_string/polygon into separate headers
2016-04-11 12:23:11 +02:00
artemp
8bc4b28a76
small formatting
2016-04-06 11:36:18 +02:00
artemp
ccf26a743d
remove extra ;
2016-04-06 11:35:49 +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
9bb20ce685
box2d<T> - expose value_type typedef + init(x, y) convinient method
2016-03-24 14:50:46 +00:00
artemp
0fb587875e
enable box2d<float>
2016-03-21 11:51:32 +01:00
artemp
26f7856e83
grid - restore missing simplify_tag
in process_polygon_pattern_symbolizer (ref #3329 )
2016-03-18 16:38:38 +01: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
db9b3f46af
create an geometry_empty when input WKB has x and y set to NaN
...
e.g `\x0101000000000000000000f87f000000000000f87f => mapnil::geometry::geometry_empty`
2016-03-16 14:52:42 +01:00
Mickey Rose
a981f560b6
fix empty string value::to_expresssion_string
2016-03-15 00:29:17 +01: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
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
9dd07fd40b
use c++ style casts
2016-03-10 11:44:23 -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
6856100433
box2d operator<< - output "box2d(INVALID)" for invalid box.
2016-03-07 13:51:50 +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
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
Dane Springmeyer
23fb010ea2
disable dlclose when building with --coverage - refs #3344
2016-03-03 15:02:03 -08:00
Dane Springmeyer
833703026d
add COVERAGE configure option - only set coverage flags on libmapnik and plugins - refs #3344
2016-03-03 14:19:12 -08:00
Dane Springmeyer
a855a12532
make code comment about needing immutable grammars - refs #3342 [skip ci]
2016-03-03 09:14:06 -08:00
Mickey Rose
489631ca34
remove reference on template parameter Detector
2016-03-03 00:17:41 +01:00
Mickey Rose
c8e3a0d549
refactor render_markers_symbolizer_visitor
...
- extract some common code into functions
- for cleaner dif: git show -w --patience
2016-03-03 00:07:18 +01: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
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
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
bd5d1c8df8
prune include directives a bit more
2016-02-24 12:24:06 +01:00
artemp
50db396760
move value implementation into *.cpp
2016-02-23 23:05:19 +01:00
artemp
d43bc3232f
remove unused include
2016-02-22 15:38:15 +01:00
artemp
2c931a238f
color.cpp - port premultiply/demultiply and remove agg dependency
2016-02-22 14:39:31 +01:00
artemp
3e8ee9a559
simplify color generators - remove boost::phoenix
usage
...
(ref: https://github.com/mapbox/windows-builds/issues/81 )
2016-02-22 12:45:28 +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
085a2afe40
minor formatting
2016-02-18 17:17:44 +01:00
Mickey Rose
1499475d04
remove to_utf8, instead use UnicodeString::toUTF8String
2016-02-15 21:07:01 +01:00
Dane Springmeyer
10bd37ddd7
avoid unneccesary dependence on << operator of mapnik::enumeration
2016-02-09 10:09:12 -08:00
Dane Springmeyer
6c1b6e301d
gradient does not need to be a fancy enumeration
2016-02-09 09:56:57 -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
Mickey Rose
4ef8efd554
remove struct member designators from initialization - fixes #3277
...
- it's C99 syntax, illegal in C++11 braced-init-list
- interestingly it's accepted in C++ by GCC and Clang,
rejected by MSVC
2016-01-30 20:44:40 +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
7bbc758fbc
cleanup extraneous includes
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
Dane Springmeyer
ed076bf3f5
compile image_filter_grammar separately
2016-01-28 12:04:36 -08: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
Mickey Rose
8d7fca3236
svg_parse_value - add 'px' unit, report trailing garbage
...
- avoid operator comma in semantic action, refs #3249
2016-01-23 20:44:14 +01:00
Blake Thompson
d3d1106865
Fixed bug around set envelope in memorydatasource
2016-01-21 15:20:50 -06:00
artemp
e5db888673
remove redundant t == "png"
check as it results in slower code ref #3243
2016-01-20 16:48:26 +01:00
artemp
1bfabec6be
parse_svg_value
- add DPI template parameter (default 90) (#3233 )
2016-01-15 09:38:46 +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
cc635df7bc
svg_parser - use parse_svg_value
2016-01-14 11:03:55 +00:00
artemp
48c043ec42
implement "parse_svg_value" supporting SVG units ( https://www.w3.org/TR/SVG/coords.html#Units ) ( #3233 )
2016-01-14 10:54:33 +00:00
artemp
1dff67e1fe
fix namespace qualifiers
2016-01-14 10:24:40 +00:00
artemp
9e7f7917e3
export path_parse<svg_converter_type>
2016-01-12 15:06:30 +00: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
479a657437
make SVG path parser stricter by failing if not all input parsed ref #3225
2016-01-08 11:59:59 +00:00
artemp
b1c22ba853
SVG :initial support for "stroke-dasharray"
2016-01-07 15:54:34 +00:00
artemp
ca83ca167d
svg - move stroke-dasharray setup into dash-array parser method
2016-01-07 11:20:22 +00:00
Dane Springmeyer
bb8cd10751
tiff reader: read_generic is not implemented so throw in all cases not just if we can open the image
2016-01-06 09:17:35 -08:00
artemp
e0c756ee8d
geometry_envelope - add missing linear_ring
2015-12-17 12:07:05 +00:00
Dane Springmeyer
50d1e2fbb3
handle more gcc 4.9 -Wshadow warnings
2015-12-04 14:07:42 -05:00
artemp
da617f92eb
add scale_image_agg' and
reproject_and_scale_raster` overloads for backward caps
2015-11-19 12:26:16 +00:00
artemp
6d599dff0a
Merge branch 'fix-gray-scaling-2' of https://github.com/mapycz/mapnik into mapycz-fix-gray-scaling-2
2015-11-17 15:03:37 +00:00
artemp
4d6a735f53
initialise default (invalid) box2d with +/-std::numeric_limits<T>::max() to be in sync with Boost.Geometry
2015-11-11 15:50:56 +00:00
Jiri Drbalek
924aa62662
raster scaling: fixes nodata handling, acurracy when working with small floats and clipping floats by [0; 255]
2015-11-10 20:37:45 +00:00
Dane Springmeyer
7608040906
centralize warning suppression
2015-11-07 17:53:09 -08:00
artemp
cb31692f37
image : fix buffer's copy ctor - only std::copy when rhs owns the data ( #3152 )
2015-11-02 09:47:05 +00:00
Dane Springmeyer
8813e73cfc
rename SHAPE_MEMORY_MAPPED_FILE to MAPNIK_MEMORY_MAPPED_FILE
2015-10-16 13:34:53 -07:00
artemp
2906706a40
geojson.input - split parsing FeatureCollection and single Feature/Geometry into separate grammars
2015-10-15 15:12:16 +01:00
Dane Springmeyer
7fa1e58ab7
better c++11 usage
2015-10-12 10:10:12 -07:00
Dane Springmeyer
25eaf96e98
silence -Wsign-compare warning from boost [skip ci]
2015-10-07 08:33:24 -07:00
Dane Springmeyer
efee15c2e7
remove unused typedef [skip ci]
2015-10-06 15:39:42 -07:00
Dane Springmeyer
20e72ccc82
remove unused typedef [skip ci]
2015-10-06 15:39:42 -07:00
Dane Springmeyer
7122fdc6e5
fix #3096
2015-09-30 14:23:21 -07:00
artemp
d6d9e94e36
svg_parser - fix double_list grammar to handle whitespace | comma
correctly
2015-09-28 14:22:30 +01:00
jakepruitt
344c5ae844
Fix boost parser for viewbox
2015-09-25 12:05:57 -07:00
jakepruitt
a787d20e36
Add viewbox fallback logic for dimension parsing
...
SVG's now have fallback on viewbox. Still debugging the boost Qi parser
2015-09-25 12:05:57 -07:00
jakepruitt
fcbb91a00e
Add int list parser
2015-09-23 12:08:50 -07:00
artemp
d54eca9dca
image - fix copy/move implementation and update/improve tests
2015-09-16 14:28:55 +01:00
artemp
acb8feea01
image - update shallow
constructor to take raw bytes pointer
...
detail::buffer - inline data() size() methods
update unit test
2015-09-16 10:14:40 +01:00
Dane Springmeyer
b2d08ea4ea
re-enable zero allocation image interface - refs #3069
2015-09-14 16:45:58 -07:00
artemp
ad80c91657
cache processed layouts to ensure there are stay in scope (placement_finder) - via @talaj
2015-09-11 15:29:28 +02:00
bergwerkgis
9146f785f4
Windows: fix loading of SVG files from unicode paths. Surfaced in https://github.com/mapnik/node-mapnik/issues/517
2015-09-10 11:10:38 +00:00
artemp
a32fbdf635
use atomic<> where possible to avoid locking
2015-09-08 12:28:16 +02:00
artemp
ee65873159
oops fix
2015-08-27 17:37:18 +02:00
artemp
6d1ffc8a93
enable optional checking env for "MAPNIK_LOG_FORMAT" (via MAPNIK_CHECK_ENV)
2015-08-27 17:08:41 +02:00
artemp
0ea5ccc7bc
fix typo
2015-08-27 13:07:51 +02:00
Jiri Drbalek
75a299ab1d
remove incorrect and meaningless comments
2015-08-26 14:29:09 +00:00
Jiri Drbalek
883c9c83bf
remove unused members
2015-08-26 12:59:11 +00:00
Matt Amos
3d7b84a598
Fix deadlock in recursive datasource registration.
...
The datasource cache was taking an exclusive lock on the simple
mutex used to protect the singleton's data pointer. This works
okay when everyone always calls it non-recursively, but when the
recursive flag is true then it will always deadlock when called
on any directory with subdirectories.
Additionally, many methods which accessed private data members of
the cache were not protected by any locks.
Since the call pattern of registering datasources is strictly
tree-shaped then it's a good candidate for a recursive mutex. This
has a slightly higher overhead than a simple mutex, so rather than
change the singleton's mutex to be recursive, I've added a new
instance mutex to the datasource cache.
Also, added a very basic test which reproduces the problem and
shows that it's fixed with this patch.
2015-08-23 20:25:35 +01:00
Blake Thompson
10ad41d218
Removed unrequired MAPNIK_DECL from src/image_util_jpeg added pragma to prevent warning on linux with clang.
2015-08-12 13:00:04 -05:00
Blake Thompson
3d262c7426
Fixed linking errors in parse jpeg. closes #3031
2015-08-12 09:32:32 -05:00
artemp
715cff3f2a
fix - pass by const ref
2015-08-12 12:09:40 +02:00
artemp
ebf4d66900
Merge branch 'master' into image_filters
2015-08-12 11:27:59 +02:00
artemp
771d2844db
Merge branch 'dot-scale' of https://github.com/naturalatlas/mapnik into naturalatlas-dot-scale
2015-08-12 10:40:12 +02:00
artemp
751abba262
add parse_jpeg_quality method + uint test parsing jpegXX and jpeg:quality=XX options
...
ref #3024
2015-08-12 10:29:57 +02:00