Commit graph

3715 commits

Author SHA1 Message Date
Dane Springmeyer
23e25ca432 share const rendering buffer impl to avoid const_cast + avoid various warnings 2015-06-15 20:41:50 -07:00
Dane Springmeyer
e23c263ba8 remove unused constructor for matrix_node 2015-06-15 20:41:50 -07:00
Dane Springmeyer
be4d6e70f8 use c++11 style const_cast + safe cast 2015-06-15 20:41:49 -07:00
Dane Springmeyer
6d124cc229 remove unused set_rectangle method 2015-06-15 20:41:49 -07:00
Dane Springmeyer
5d2be98cf2 Fix -Wsign-conversion warning 2015-06-15 20:41:48 -07:00
Dane Springmeyer
f36b451602 use safe cast and std::lround 2015-06-15 20:41:48 -07:00
Dane Springmeyer
c55662ab43 rename pixel_cast to safe_cast 2015-06-15 20:41:48 -07:00
Dane Springmeyer
93afb963e9 Fix -Wsign-compare warnings 2015-06-15 20:41:47 -07:00
Dane Springmeyer
34b9cb37f7 fix -Wsign-conversion warning in UnicodeString.hashCode() 2015-06-15 20:41:47 -07:00
Dane Springmeyer
45bda29a45 switch to c++11 library over boost (confirmed no speed drop on osx with test_marker_cache.cpp) 2015-06-15 20:41:47 -07:00
Dane Springmeyer
0d86afff36 start using -Wsign-compare and -Wshadow + fix heaps of warnings - refs #2907 2015-06-12 14:51:18 -07:00
Dane Springmeyer
8d3d136da7 fix hang on windows in pixel_cast
- manifested converting double -> int64_t.
  - it is unclear why this explicitness is needed on windows
    to avoid greater calling itself. But it is clear that the
    static_cast<double>(<std::int64_t>) is not enough for the
    template deduction to match the <double,double> case automatically
  - Making this explicit is probably better anyway, but odd it is needed.
  - Finishes closing #2893, refs #2893, amends 96f7120ecc and d29a0f18b1
  - Seen with both VS 2014 CTP 4 and VS 2015 Preview
2015-06-12 12:38:22 -07:00
Dane Springmeyer
29b464e868 simplify numeric_compare template logic 2015-06-12 12:01:26 -07:00
Dane Springmeyer
a5e10aa25c std::numeric_limits are not yet constant on windows - see #2911 2015-06-12 11:48:49 -07:00
artemp
a030f5531d add <limits> 2015-06-12 14:43:56 +01:00
artemp
15041ba334 replace boost::numeric::bounds with detail::bounds where highest/lowest return constexpr
( since c++11 std::numeric_limits<T>::min/max return `static constexpr T`)
prefer if/else if..  over if/if...)
2015-06-12 13:40:47 +01:00
Dane Springmeyer
d29a0f18b1 fix pixel_cast by avoiding comparing across sign<->unsigned - refs #2893 2015-06-12 00:02:59 -07:00
Dane Springmeyer
6a3d63aa40 consistent initialization in scriptrun and placement_finder 2015-06-11 11:44:27 -07:00
Blake Thompson
d3f37d8f1e Updated clipper to be reversed and fixes to the way the algorithm operates. 2015-06-11 12:47:00 -05:00
artemp
ed3a74afed disambiguate naming 2015-06-11 13:20:49 +01:00
artemp
eabe5b50e6 Merge branch 'master' into mapycz-fix-raster-scaling 2015-06-11 13:15:38 +01:00
artemp
96f7120ecc add pixel_cast<T>() ref #2893
replace boost::numeric_cast with mapnik::pixel_cast
2015-06-11 13:10:02 +01:00
artemp
e32465368b Merge branch 'fix-raster-scaling' of https://github.com/mapycz/mapnik into mapycz-fix-raster-scaling 2015-06-11 10:28:41 +01:00
Dane Springmeyer
f5a792807e fully header only impl should not use MAPNIK_DECL 2015-06-10 23:03:07 -07:00
artemp
40b963f9ad csv_grammar - handle various quotting options + disable csv_utils::fix_json_quoting(csv_line) 2015-06-10 13:40:55 +01:00
artemp
e5f1379fea handle escape characters 2015-06-10 11:41:45 +01:00
artemp
f1feedc54c Merge branch 'master' into large_csv 2015-06-10 11:14:19 +01:00
artemp
8e30a89522 remove wkt_generator_grammar_int to minimise code duplication
remove redundant template parameter - we can deduce coord_type from Geometry
add coord generator traits to control generator instantiation at compile time
2015-06-10 11:10:17 +01:00
artemp
89d258743a use inheritance to define geometry ( struct geometry : geometry_base<T> ) + provide value_type type alias in geometry 2015-06-10 10:55:34 +01:00
Blake Thompson
08602392a3 Merge branch 'master' into offset 2015-06-09 13:18:31 -05:00
Blake Thompson
d209e5bc33 After some tweaking determined what I feel like are the best values for threshold and limiting sharp corners 2015-06-09 13:15:12 -05:00
Blake Thompson
dd104b0b1b Updated offset converter to remove large spikes 2015-06-09 11:31:50 -05:00
artemp
11e58275e9 fix typedef's 2015-06-09 15:22:01 +01:00
Blake Thompson
75f7cb26bb Reversed the offsets 2015-06-09 09:18:52 -05:00
artemp
f4ec97489d add 'csv' dir 2015-06-09 10:33:01 +01:00
artemp
908f03bc19 add csv_grammar 2015-06-09 10:21:38 +01:00
Blake Thompson
a74c4abe57 Reverted to original offset directions for now 2015-06-08 19:33:00 -05:00
Dane Springmeyer
2a01b2da03 Merge branch 'master' of github.com:mapnik/mapnik into offset 2015-06-08 13:54:04 -07:00
Jiri Drbalek
76b7466719 fix rendering raster without scaling 2015-06-08 17:31:56 +00:00
Dane Springmeyer
d7bffd51f2 shuffle marker_helpers includes 2015-06-06 08:19:54 -07:00
Dane Springmeyer
29c9e97d76 minor code cleanup in process_group_symbolizer 2015-06-06 08:09:06 -07:00
Blake Thompson
4de33bd483 Updated offset so that it only requires onetime through and rewind is not required to be called. This was done because some adapters do not respond well to rewind. 2015-06-05 17:12:42 -05:00
Blake Thompson
35f4ae5bc7 Tune threshold some for offset converter 2015-06-05 12:03:52 -05:00
Blake Thompson
c3574c1008 Initial commit changing offsets 2015-06-05 10:04:24 -05:00
Dane Springmeyer
dcfa0b655c fix #2863 by adding back compatibility of point symbolizer interior placement on point geometries + update visual tests 2015-06-04 07:45:44 -07:00
Dane Springmeyer
4bf4bb0104 Merge pull request #2880 from zerebubuth/fix/rapidxml-loader-trim-whitespace
Fix rapidxml XML loader to trim whitespace
2015-06-03 14:03:53 -07:00
Matt Amos
1778d19b22 Added headers required on Mac OS - not sure why not on Linux. 2015-06-03 15:56:37 +01:00
Artem Pavlenko
a235316573 Merge pull request #2883 from mapycz/missing-style
better handling of missing styles
2015-06-03 11:54:06 +01:00
artemp
3c159f7163 remove unused dump_xml.hpp 2015-06-03 11:18:32 +01:00
Jiri Drbalek
abf64342f9 raise missing style message to MAPNIK_LOG_ERROR 2015-06-03 10:04:33 +00:00
Matt Amos
dd112b33e2 Added visibility attribute to XML symbols.
Thanks to @flippmoke, symbol visibility is exactly the cause of
the previous compilation error. Until it's decided whether or not
to turn this off (at least for testing & coverage builds?), I've
added the necessary annotations to allow it to compile.
2015-06-02 18:10:59 +01:00
artemp
8e1e5f19d1 Merge remote-tracking branch 'origin/master' 2015-06-02 15:39:35 +01:00
artemp
90a27abccb catch and remove more spurious std::move's 2015-06-02 15:36:31 +01:00
Dane Springmeyer
f8370acc9c fix a few files that need utf_conv_win.hpp 2015-06-02 07:14:31 -07:00
artemp
82a98a6d85 catch and remove more spurious std::move's 2015-06-02 14:48:02 +01:00
artemp
df4226a825 remove spurious std::move's (clang - moving a temporary object prevents copy elision [-Wpessimizing-move]) 2015-06-02 14:26:35 +01:00
artemp
de568ff054 polygon<T> - add default ctor 2015-06-02 14:23:22 +01:00
artemp
2eaa90033a move singleton to util/singleton.hpp
move windows UTF conversion routines to util/utf_conv_win.hpp
2015-06-02 11:10:41 +01:00
artemp
9a93b21159 remove unused member variable + make singleton always thread safe 2015-06-02 10:32:30 +01:00
artemp
8653508a9a use std::aligned_storage in CreateStatic policy 2015-06-02 10:27:22 +01:00
artemp
b3af8bd5f9 implement DCLP using c++11 (http://preshing.com/20130930/double-checked-locking-is-fixed-in-cpp11/)
ref #2838
2015-06-02 10:24:38 +01:00
artemp
c399469d95 use constexpr instead of BOOST_STATIC_CONST 2015-06-01 17:23:51 +01:00
Matt Amos
ebab4df95f Remove unused source memory.[ch]pp.
I could not find any references to this source file from any
other, and it looks like it has been largely unmodified for the
past 5 years. This suggests that it has been orphaned.
2015-05-29 19:06:13 +01:00
Blake Thompson
847a9f0d45 Merge pull request #2839 from mapnik/static_strategy
Changed from numeric casts to static casts in strategies
2015-05-26 16:19:13 -05:00
Blake Thompson
ee551cd949 Removed vector tile strategy 2015-05-26 16:18:10 -05:00
Blake Thompson
85e2b53490 Changed from floor to round 2015-05-26 15:52:41 -05:00
Blake Thompson
506d2f435f Added vector tile strategy 2015-05-26 15:52:41 -05:00
Blake Thompson
611eb6e7a3 Changed from numeric casts to static casts 2015-05-26 15:52:41 -05:00
Jiri Drbalek
344a6ec8ba grid: formatting 2015-05-25 21:03:40 +00:00
Jiri Drbalek
51064a9479 grid: use correct types 2015-05-25 21:03:40 +00:00
Dane Springmeyer
4667e9470a more portable workaround for gil c++11 bug - closes #2859 2015-05-24 13:48:04 -07:00
artemp
bbbe24ac9f format - remove extra ; 2015-05-22 09:09:50 +01:00
Dane Springmeyer
c2e94c68a5 fix crash + add crashing testcase for #2842 2015-05-21 20:39:14 -07:00
artemp
3b663af863 use boost::spirit::standard instead of boost::spirit::ascii to avoid assertions failing (isascii_(ch)) in debug builds - ref #2829 2015-05-21 11:27:21 +01:00
Dane Springmeyer
84e4d8bf22 Start calling geometry::correct everywhere possible - refs #2834 2015-05-20 14:00:30 -07:00
Blake Thompson
2031215247 Renamed set_opacity to apply_opacity, reverted it to the old logic of set_alpha. Updated tests, clamping is now used. 2015-05-20 13:08:18 -05:00
Blake Thompson
b68d079255 Changed the name of the set_alpha and multiply_alpha to be set_opacity and multiply_opacity 2015-05-20 12:39:01 -05:00
Dane Springmeyer
5d7c43457e Merge pull request #2825 from mapycz/improve-interior
improve interior placement
2015-05-20 10:37:39 -07:00
artemp
a8a90b7656 use std::lock_guard instead of unique_lock (better fit for the job) 2015-05-20 16:12:22 +01:00
artemp
433741877d fix - use std::size_t to avoid narrowing 2015-05-20 11:31:41 +01:00
artemp
6c14ff9b7a fix char type 2015-05-20 11:31:24 +01:00
artemp
3ce65e8b65 rename view_to_string to view_to_stream and tempalate on stream type 2015-05-19 11:58:20 +01:00
artemp
05b5d16e87 more std::size_t fixes (consistent usage) 2015-05-19 11:43:39 +01:00
Jiri Drbalek
efd554a04e interior placement: always compute center of the longest segment 2015-05-19 08:37:57 +00:00
Jiri Drbalek
5ab59c860d fix deprecation warning 2015-05-18 08:01:27 +00:00
Blake Thompson
219ad1f2cc Updated min zoom and max zoom to use maximum scale denom and minimum scale denominator #1447 2015-05-15 14:34:12 -05:00
Dane Springmeyer
fd23aacd7b shuffle includes based on iwyu findings 2015-05-14 23:38:36 -07:00
Dane Springmeyer
3ae6e49a2e Merge pull request #2812 from mapnik/feature/add_tests
Adding tests and cleanup
2015-05-14 23:05:48 -07:00
Dane Springmeyer
53be585240 iwyu in view_strategy.hpp 2015-05-14 17:59:40 -07:00
artemp
75a77882e8 image_options - add key0=value0:key1:key2=value2 parser
remove tokenizer usage from image_util_png
2015-05-14 15:37:21 +01:00
Artem Pavlenko
2a8086fbcc Merge pull request #2788 from mapycz/fix-labeling-on-polygons
fix labeling on polygons
2015-05-14 14:10:02 +01:00
artemp
881dba4fc9 fix camel case 2015-05-14 12:53:21 +01:00
Jiri Drbalek
a8e3174817 text on polygon: fix missing closing segment 2015-05-14 11:26:01 +00:00
Blake Thompson
d1616737f2 Removed the mapnik type of 'byte' because it seemed sparsely used and simply providing data type should be easier as it is never going to change. Also added some tests around mapnik palette 2015-05-13 19:32:54 -05:00
Blake Thompson
f3abe7fc25 Added test coverage to image buffer 2015-05-13 16:50:31 -05:00
Blake Thompson
c3dfda4977 Merge pull request #2808 from mapnik/bugfix/strategy_rounding
Bugfix/strategy rounding
2015-05-13 13:45:26 -05:00
Blake Thompson
f9acd07aaf Merge pull request #2807 from mapnik/drop-big-endian
Drop obsolete and unsupported big endian support
2015-05-13 13:43:09 -05:00
artemp
3e16c4b8f2 remove unused vars 2015-05-13 15:15:52 +01:00
artemp
ba117c6384 update SVG path generator to avoid using boost::phoenix::if_() which doesn't work with boost 1.58 2015-05-13 11:33:09 +01:00
artemp
270679bc20 style 2015-05-13 11:32:34 +01:00
Blake Thompson
39428585f0 Added the rounding_cast utility, and added a scale_rounding_strategy to support this new casting type. Added tests for it 2015-05-12 14:36:29 -05:00
Blake Thompson
1dddfd17ef Removed try catch around set_alpha, and just checked bounds. Added unit tests for image_view 2015-05-12 12:24:14 -05:00
Dane Springmeyer
613766b104 drop obsolete and unsupported big endian support - refs #2806 2015-05-12 10:19:37 -07:00
artemp
a9ae6c111c Merge branch 'master' into fix-topojson 2015-05-12 09:42:29 +02:00
Dane Springmeyer
706be7397f Merge branch 'master' of github.com:mapnik/mapnik 2015-05-11 17:49:42 -07:00
Dane Springmeyer
d57f1cbb71 display deprecated value in enumeration warning [skip ci] 2015-05-11 17:49:35 -07:00
Dane Springmeyer
834ae832be tuple adapter is needed in the end 2015-05-11 16:52:08 -07:00
Dane Springmeyer
14c73304de iwyu 2015-05-11 16:52:08 -07:00
Blake Thompson
e44cdef805 Fix get_pixel with image_view 2015-05-11 18:19:24 -05:00
Blake Thompson
f54164da75 Changed the way that set alpha worked, renaming old method to multiply_alpha, added new set_alpha, that simply sets the alpha. Added protection for overflows and underflows. Added unit tests to cover all code 2015-05-11 13:12:13 -05:00
Dane Springmeyer
23872dcd26 ensure topojson parser is robust to invalid arc index 2015-05-09 07:04:03 -07:00
Dane Springmeyer
61c2cd5ed5 tuple adapter is needed in the end 2015-05-09 06:59:14 -07:00
Dane Springmeyer
7ceba047c0 iwyu 2015-05-09 06:54:38 -07:00
Dane Springmeyer
5162027034 avoid closing empty path 2015-05-07 16:12:38 -07:00
Dane Springmeyer
340ed85e4e fix windows compile 2015-05-06 07:10:35 -07:00
Dane Springmeyer
4c76edaef7 algorithm is a somewhat large stl header, move it to cpp 2015-05-06 06:37:06 -07:00
Dane Springmeyer
b11eeef4b6 remove std::clog print 2015-05-06 06:35:37 -07:00
Dane Springmeyer
0bfb7bae7a Add deprecation warning for enum's using _ 2015-05-06 06:35:17 -07:00
Dane Springmeyer
b10a6f7a92 remove unused coord_array header 2015-05-06 06:34:54 -07:00
Dane Springmeyer
126c777c8d shuffle around boost/geometry usage in headers to reduce compile time 2015-05-05 22:04:49 -07:00
Dane Springmeyer
f2863a7d2a explicitly use mapnik::tags to avoid boost::geometry::tags conflict 2015-05-05 20:46:19 -07:00
artemp
47c272b874 c++ constness, formatting 2015-05-05 14:12:29 +02:00
Blake Thompson
0eecbd3e0f Modified marker cache to store shared_ptrs in order to prevent threading issues and to close #2713 2015-05-04 14:11:41 -05:00
Blake Thompson
9439279f53 hopefully solved linux compile issues 2015-05-04 09:37:45 -05:00
artemp
6d4a4139b3 is_switchable to control switchabilty of vertex_converters -- revive stroke_tag
fix vertex_converter in cairo/agg
2015-05-04 14:49:17 +02:00
artemp
470da20d53 fix remanining cAmEl case names 2015-05-04 12:49:11 +02:00
artemp
377c5e56b8 image_view - add move ctro, delete assignment operator, use std::size 2015-05-04 12:11:24 +02:00
artemp
ba0c18a228 c++ style 2015-05-04 11:22:06 +02:00
artemp
081cf02dcf fix method signitures to use std::size_t
rename getSize() -> size(), getRowSize() -> row_size
2015-05-04 10:57:57 +02:00
artemp
663a7db8fd use std::size_t 2015-05-04 10:14:01 +02:00
Dane Springmeyer
147602244b disable is_switchable for stroking and offsets - refs #2791 2015-04-30 11:42:36 -07:00
Jiri Drbalek
78d7ea007a fix labeling 2015-04-30 07:20:10 +00:00
Dane Springmeyer
919bf27dc3 close polygon paths 2015-04-29 15:41:18 -07:00
artemp
c64dc3672a vertex_converter - refactor to pass Processor to apply function (while it allows to instantiate vertex_converter object only using converter tags, it doesn't reduce object code)
make offset_converter 'non-switchable' relying on be able to shortcut in `vertex(*x, *y)` when offset is 0.0 -> results in reduced binary size
2015-04-28 14:18:33 +02:00
artemp
666ce82ae4 add is_switchable to control switchabilty of vertex_converters 2015-04-27 14:00:52 +02:00
Dane Springmeyer
e60dfbba38 remove unused close_poly_tag 2015-04-26 19:34:58 -07:00
Dane Springmeyer
f9439a590f define BOOST_MPL_LIMIT_VECTOR_SIZE before boost/geometry 2015-04-26 19:34:42 -07:00
Dane Springmeyer
bf92a90648 silence boost geometry warnings [skip ci] 2015-04-27 00:32:09 +02:00
Dane Springmeyer
8489bb12f8 Add operator!= to datasource (needed for copy_move_test.cpp) 2015-04-25 10:34:25 +02:00
artemp
d89033a0ca reduce binary size providing overloads for forward method
```
template <typename Geometry, typename Processor>
static void forward(Dispatcher & disp, Geometry & geom, Processor & proc,
                        typename std::enable_if<!std::is_same
                        <typename detail::converter_traits<Geometry,Current>::conv_type,
                        transform_path_adapter<view_transform, Geometry> >::value >::type* = 0)
```
2015-04-24 18:13:18 +02:00
artemp
69afcdf9bf fix hardcoded detector type 2015-04-24 15:15:01 +02:00
artemp
f9bd031243 pass and store feature by const ref 2015-04-24 15:12:48 +02:00
artemp
68510afdc1 remove const 2015-04-24 12:35:21 +02:00
Jiri Drbalek
8d78e8bfcb fix compile with gcc 2015-04-23 14:49:06 +00:00
Dane Springmeyer
d591600c04 include boost/version.hpp where needed - refs #2770 2015-04-23 09:31:46 +02:00
Matt Amos
79f29f3894 Disable missing geometry functions in older Boost versions.
The functions `is_valid` and `is_simple` and their associated
headers are only present in versions of Boost >= 1.56, and will
cause compilation errors with previous versions of Boost. This
masks them with preprocessor macros to allow the compilation to
complete, at the cost of some (currently not widely used)
functionality.
2015-04-23 03:52:46 +01:00
Dane Springmeyer
2c35a0f8a1 Merge pull request #2739 from mapnik/mapnik-geometry
New geometry storage and API
2015-04-22 15:35:07 +02:00
artemp
3366e804c9 hit_test - cache x,y for MOVE_TO and use on CLOSE_PATH command 2015-04-22 15:30:59 +02:00
artemp
86cc903835 point_symbolizer - revive interior point placement 2015-04-22 15:01:52 +02:00
Dane Springmeyer
124362d2d4 stop correcting geometries at decode time
- the original motivation for this was to avoid needing to
   mutate a copy later on (for operations needing correct winding order)
 - but mutating a copy is looking feasible, so removing this now.
2015-04-22 14:27:43 +02:00