Commit graph

3560 commits

Author SHA1 Message Date
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
artemp
1f83eaa6ac geometry_adapters - make generic 2015-04-22 12:22:52 +02:00
artemp
2768aa6a4a Merge branch 'mapnik-geometry' into mapnik-geometry-template 2015-04-22 12:13:29 +02:00
Blake Thompson
d7f7bc18c1 A large set of changes that help allow WKT for int64_t type geometeries, modified some strategies, made it so that the clipper would use mapnik geometries. 2015-04-21 09:34:52 -05:00
Blake Thompson
edda6cb13f Updated several sections of code, noteably added strategy_group_first as another way to perform transforms with groups, added tests similar to uses of vector tiles in geometry_strategy_test.cpp 2015-04-17 15:49:23 -05:00
Blake Thompson
8ad5648c10 Working version of strategy grouping 2015-04-17 11:15:45 -05:00
Blake Thompson
75ccfdf934 A venture into variadic templates for strategies and transforms. 2015-04-16 23:37:20 -05:00
Blake Thompson
a19da799e0 Slight fixes after merge 2015-04-15 16:05:56 -05:00
Blake Thompson
7a50bb5214 Merge branch 'mapnik-geometry' into mapnik-geometry-template 2015-04-15 15:16:47 -05:00
Dane Springmeyer
cdb9a2ead4 add debug symbolizer mode for visualizing exterior and interior rings and their winding order 2015-04-14 02:44:14 +02:00
Dane Springmeyer
1dc77443ab add vertex_adapter to work per polygon ring 2015-04-13 18:48:45 +02:00
artemp
87e978a6b9 prefer c++11 alias type declaration over typedef for consistency 2015-04-13 15:03:19 +02:00
artemp
41aa591878 Merge branch 'master' into mapnik-geometry 2015-04-13 12:47:41 +02:00
artemp
4f3c8663a3 visual tests : fix marker-on-hex-grid 2015-04-13 11:38:38 +02:00
artemp
c1bc8ffc64 simlified_converter - use start (move_to) x,y on close_path command (drops tiny islands) 2015-04-13 11:17:17 +02:00
Blake Thompson
f98fd0da7c Added tests for non standard projections, forcing use of proj4. 2015-04-10 14:05:58 -05:00
Blake Thompson
2392c7eb12 Added geometry_reprojection_impl 2015-04-10 10:55:30 -05:00
artemp
33661c818d Merge branch 'mapnik-geometry' into mapnik-geometry-template
Conflicts:
	benchmark/test_polygon_clipping.cpp
	include/mapnik/geometry.hpp
	include/mapnik/geometry_adapters.hpp
	include/mapnik/marker_helpers.hpp
2015-04-10 14:52:40 +02:00
artemp
90b6fee2ac don't return from void function 2015-04-10 14:15:12 +02:00
Blake Thompson
87fb41907a Added template to geometries 2015-04-09 15:22:51 -05:00
artemp
fb61a2bb90 ref #2755 test if centroid is within bounding box 2015-04-09 12:40:06 +02:00
artemp
3f1aa7b4b4 geometry : allow boost::geoemetry algorithms to work directly with box2d<double>, removing bounding_box 2015-04-09 12:33:31 +02:00
artemp
2581e48087 vertex_converters - attempt to improve size and compilation times 2015-04-09 10:55:09 +02:00
artemp
938709955e support all geomtry types 2015-04-08 18:48:41 +02:00
artemp
24dbaf5217 add geometry_to_path implementation 2015-04-08 18:48:41 +02:00
artemp
bfae2a8df6 cleanup 2015-04-08 18:48:41 +02:00
Blake Thompson
c5d5a1f22e Added several unit tests around reprojection. 2015-04-07 17:20:29 -05:00
Blake Thompson
0fec41a87e Updated reprojection code 2015-04-07 11:55:45 -05:00
artemp
6afc4531ec add value_type alias 2015-04-07 15:39:47 +02:00
artemp
10a07bc142 generic geometry transform algorithm 2015-04-07 15:38:00 +02:00
Blake Thompson
6be658f5b5 Moved geometry envelope to an impl 2015-04-06 11:00:03 -05:00
Dane Springmeyer
159997fe25 avoid -Wsign-compare warning 2015-04-05 08:56:06 -04:00
Dane Springmeyer
c4273ffed6 be explicit about where value_converter is 2015-04-05 03:10:53 -04:00
Dane Springmeyer
bc77157c57 re-expose geometry_empty test / fix compile 2015-04-04 13:24:00 -04:00
Dane Springmeyer
d4ce36a41e remove unneeded headered detected by iwyu 2015-04-04 13:21:33 -04:00
Dane Springmeyer
bd673c0dbe more iwyu 2015-04-04 13:21:09 -04:00
Dane Springmeyer
ae50ce7321 add headers detected as needed by include-what-you-use 2015-04-04 13:20:40 -04:00
Dane Springmeyer
633668f1d2 no need for iostream in geometry_envelope 2015-04-04 13:20:11 -04:00
Dane Springmeyer
9bd171bcd1 geometry_is_empty should only accept const& 2015-04-04 13:19:55 -04:00
Blake Thompson
19eaf4cfff Fix for geometry envelope with geometry collections and added tests. 2015-04-03 18:56:57 -05:00
Blake Thompson
fb0ea81606 Modified envelope so that it no longer keeps creating new bboxes, fix in hit filter for rings with too little geometry 2015-04-03 11:24:47 -05:00
Blake Thompson
4091504dac Optimization for when point is found in a hole 2015-04-03 11:24:47 -05:00
Blake Thompson
2460f7ba04 Corrected ray casting check in polygon hit test 2015-04-02 14:27:39 -05:00
Blake Thompson
6f4f7a07be Added a feature to geojson helper method 2015-04-02 09:28:45 -05:00
artemp
63b97e2e52 attempt to fix SEG_CLOSE command handling 2015-04-02 16:12:56 +02:00
Blake Thompson
5ca850a17e Added proper use of auto in several for loops 2015-04-01 17:55:36 -05:00
Blake Thompson
78835c9d87 Initial commit for new method to provide geometry reprojection 2015-04-01 16:18:05 -05:00
Dane Springmeyer
928ebad6b9 Avoid inf recursion in geometry::is_empty 2015-03-31 12:29:14 -07:00
Dane Springmeyer
f96744c0e2 split out to_wkt and from_wkt as was previously done 2015-03-31 09:15:23 -07:00
artemp
3c2430150d add 'is_clockwise' as generic function
shape_io -- rely on RVO optimisation (remove an extra std::move)
2015-03-31 13:43:37 +02:00
artemp
7775089a24 make is_simple and is_valid work typed geometries directly 2015-03-31 13:43:37 +02:00
Jiri Drbalek
9862ac66bf fix compile json grammar with boost 1.49 2015-03-31 10:29:33 +00:00
Dane Springmeyer
7cbabd9b46 workaround boost bug on osx - refs #2747 2015-03-30 13:34:46 -07:00
artemp
8735311f83 radial distance - set x=y=0 on SEG_CLOSE command 2015-03-30 12:40:28 +02:00
artemp
6a6af26566 handle SEG_CLOSE in visvalingam_whyatt and douglas_peucker 2015-03-29 19:11:07 +02:00
artemp
3593f3c52c attempt to fix zhao simplification to handle zZ (SEG_CLOSE) command correctly 2015-03-29 18:49:09 +02:00