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
artemp
919d41aeb6
remove unused member variable
2015-03-29 13:55:46 +02:00
Dane Springmeyer
d5f98ba07c
avoid duplicated line_to - matches 6a827f50
, rolls back a2185bb9d8
2015-03-28 23:55:20 -07:00
Dane Springmeyer
a2185bb9d8
add vertex_adapter.cpp tests
...
- focus is on behavior of polygons (including with holes)
- reverts 6a827f501
because it seems incorrect to me and without it the vertex_adapter.cpp tests pass
- @artemp if you see something I don't please restore 6a827f501
, but updated the vertex_adapter.cpp tests
to show what the expected behavior should be
2015-03-27 23:16:49 -07:00
artemp
51b65534f5
geojson bounding box grammar - don't require "type": "Feature"
to appear in particular order (ref #2745 )
2015-03-27 10:36:04 +01:00
artemp
64312a8dc1
geojson bounding box grammar - don't require "type": "Feature"
to appear in particular order
2015-03-27 10:32:52 +01:00
artemp
6aae88f90f
only apply unique to line_string and polygon
2015-03-26 18:41:15 +01:00
artemp
75699eb5b4
remove duplicate include
2015-03-26 18:33:17 +01:00
artemp
b025071b28
add geometry_unique algo (removes coincident points)
2015-03-26 18:32:09 +01:00
artemp
b0587a01c0
correct line_string/multi_line_string
2015-03-26 18:13:44 +01:00
artemp
a2933f9cb1
fix includes
2015-03-26 17:31:19 +01:00
artemp
330bc5686c
avoid relying on x and y in SEG_CLOSE command - instead cache MOVE_TO's coordinates
2015-03-26 17:30:00 +01:00
artemp
6a827f5018
don't output last-vertex (== first-vertex) - SEG_CLOSE should be sufficient
2015-03-26 17:27:40 +01:00
artemp
bc913bcc59
fix names
2015-03-26 17:26:39 +01:00
artemp
a05225d8b1
move vertex_adpaters into separate header
2015-03-26 17:20:38 +01:00
artemp
74fb3ddde0
Merge branch 'master' into mapnik-geometry
2015-03-25 16:19:02 +01:00
artemp
06f512f584
markers_helper - add support for geometry collections
2015-03-25 16:15:48 +01:00
artemp
ba423f0955
wkt parser/genrator - handle POINT EMPTY by constructing geometry::geometry_empty
2015-03-25 15:52:12 +01:00
artemp
389d00d442
make geometry methods templated to allow using modified geometry types ( e.g variant<reference_wrapper<T>..>
...
symbolizer_helper - store geometries in custom varaint using reference_wrapper<T const>
2015-03-25 12:58:50 +01:00
artemp
22de30bb37
update variant (add support for 'unwrapping' std::reference_wrapper<T> and accessing std::reference_wrapper<T>::type through get<T>())
2015-03-25 10:52:33 +01:00
Dane Springmeyer
834a74b1ed
make geometry_correct more flexible but harder to misuse
2015-03-24 18:43:05 -07:00
Dane Springmeyer
93e825d727
delete previous incantation of boost polygon clipper
2015-03-24 16:44:50 -07:00
Dane Springmeyer
852776d5e3
geometry is_empty refactoring
2015-03-24 14:16:58 -07:00
Blake Thompson
3270d42b74
Standardizing on the output of a boolean to string is true or false rather then 0 or 1.
2015-03-24 14:32:25 -05:00
artemp
4389c80d84
and finaly, rename 'new_geometry' namespace to 'geometry'
2015-03-24 14:21:28 +01:00
artemp
7e03d41606
rename geometry_impl.hpp to geometry.hpp
2015-03-24 13:32:05 +01:00
artemp
323fdd5212
rename geometry -> path ( geometry_type -> path_type)
2015-03-24 13:17:07 +01:00
artemp
ac1ffa2bfb
move geometry.hpp into path.hpp and update code base to reflect this change
2015-03-24 12:42:09 +01:00
artemp
1cf0a897ac
move datasource::geometry_t into separate header and rename -> datasource_geometry_t to avoid cyclic dependencies issue
...
to_ds_type - return actual datasource_geometry_t (remove optional)
update across datasources
experssions - revert to using
2015-03-24 12:13:31 +01:00
artemp
163da958f4
mapnik-geometry - add 'geometry_empty' type to support unintialised geometries
2015-03-24 10:30:33 +01:00
artemp
446e6be7bd
json geometry generator - output "null" for uninitialised geometry
2015-03-23 19:09:31 +01:00
artemp
2420604d8c
check if geometry has been initialised before dispathing
2015-03-23 12:17:43 +01:00
artemp
807a940f1e
ensure [mapnik::geometry_type] attribute is stored as mapnik::value_integer
2015-03-23 12:16:21 +01:00
artemp
e6905272b7
mapnik::feature_impl - add set_geometry_copy(geometry const&)
2015-03-23 10:43:20 +01:00
Dane Springmeyer
cb6f5a7ca4
add empty method on new_geometry::polygon
2015-03-22 12:14:43 -07:00
Dane Springmeyer
95ca3a02f8
update pgsql2sqlite to new geometry
2015-03-22 12:14:11 -07:00
Dane Springmeyer
1a57aef9c6
implement hit_test for new_geometry
2015-03-22 11:41:44 -07:00
Blake Thompson
63c72789d9
Fixed a segfault from occuring if to_wkb was called with a null geometry
2015-03-20 17:03:49 -05:00
artemp
a7174f181c
handle collections
2015-03-20 11:06:04 +01:00
artemp
9352d69987
refactor local pattern alignment calc
2015-03-20 10:43:42 +01:00
artemp
360f920924
Merge branch 'master' into mapnik-geometry
2015-03-20 09:51:59 +01:00
Blake Thompson
be9d2ad53c
Removed perhaps unrequired MAPNIK_DECL
2015-03-19 23:11:12 -05:00
Blake Thompson
0f76580f6e
Tweaked image view null a little
2015-03-19 22:35:09 -05:00
Blake Thompson
08a3911b0a
Added the introduction of an image_view_null, this could possibly fix windows build issues
2015-03-19 21:28:16 -05:00
Blake Thompson
f8010f0ba1
Updated image_view any with < and == operators, removed default constructor from image_view and image_view_any
2015-03-19 14:58:01 -05:00
Blake Thompson
702b91e369
Included image_view headers in impl
2015-03-19 14:39:37 -05:00
Dane Springmeyer
0cb9cec686
remove header gaurd from impl file
2015-03-19 12:14:24 -07:00
Blake Thompson
9fd4ea2829
Possibly fixing windows issues
2015-03-19 14:01:22 -05:00
Blake Thompson
454398985c
Implementing < and == operators in image
2015-03-19 13:42:17 -05:00
artemp
8a0b4a6b6e
Merge branch 'master' into mapnik-geometry
2015-03-19 19:17:01 +01:00
artemp
ea465b06a9
geojson generator - null geometries
2015-03-19 13:44:34 +01:00
Jiri Drbalek
5c65dadd72
add comment about compatibility
2015-03-19 12:32:30 +01:00
artemp
8de2621b99
datasource : temporary reinstate get_geometry_type() method to increese test coverage and ease migration to mapnik-geometry
2015-03-19 12:09:07 +01:00
artemp
8635c87118
wkt generator - handle 'EMPTY' geometries
2015-03-19 11:00:18 +01:00
Dane Springmeyer
4a831b4936
fix msvs compiler error: C2899: typename cannot be used outside a template declaration
2015-03-19 00:44:59 -07:00
Dane Springmeyer
85b20f45d7
Merge pull request #2682 from mapycz/fix-enum-word-separator
...
fix enum word separator
2015-03-19 00:22:31 -07:00
artemp
6a8e78ab9c
fix group_symbolizer_helper
2015-03-18 13:50:15 +01:00
artemp
c1fca4f539
add vertex_adapter_traits
2015-03-18 13:49:51 +01:00
artemp
1bb06d89fa
group_symbolizer - update to mapnik-geometry
2015-03-18 12:10:21 +01:00
artemp
e516583d6c
building_symbolizer - update to mapnik-geometry
2015-03-17 15:47:51 +01:00
artemp
beb705acb3
Merge branch 'master' into mapnik-geometry
2015-03-17 09:45:19 +01:00
Blake Thompson
5a49842952
Moved image_null into a header
2015-03-16 12:18:07 -05:00
artemp
8747e0ff19
fix - don't forget to add poly's
2015-03-16 17:27:37 +01:00
artemp
71c9c04e92
Merge branch 'master' into mapnik-geometry
2015-03-16 16:20:46 +01:00
artemp
c528a31684
to_wkb - optimise to multi_point geometries
2015-03-16 16:19:24 +01:00
artemp
5f073ee299
mapnik-geometry based to_wkb() implementation
2015-03-16 16:14:17 +01:00
artemp
58d07338e9
polygon vertex adapter - output SEG_CLOSE for each loop
2015-03-16 12:01:57 +01:00
Blake Thompson
bd94cc6a60
Updated the image_view to add mapnik_decl
2015-03-13 18:21:24 -05:00
Blake Thompson
46ea6a5b1a
Added impl for image_view_any and fix to benchmark that was missing include for mapnik/color.hpp
2015-03-13 17:28:22 -05:00
Blake Thompson
c262e51428
Fix for operator= in image
2015-03-13 16:49:28 -05:00
Blake Thompson
29099ece46
Added image_view implementation
2015-03-13 16:34:49 -05:00
artemp
12613b59d4
fix typo
2015-03-13 17:12:23 +01:00
Blake Thompson
bf61a033d3
Intial commit for impl
2015-03-13 10:52:39 -05:00
artemp
924536e0f2
formatting
2015-03-13 14:29:05 +01:00
artemp
0b90fe7209
avoid unnecessary copying
2015-03-13 13:40:29 +01:00
artemp
58b36badd9
minor formatting
2015-03-13 13:23:36 +01:00
artemp
abd10cab0c
add support for all geometry types
2015-03-13 13:23:07 +01:00
artemp
f54eb68063
return geometry_type(geom)
2015-03-13 13:22:32 +01:00
artemp
6ef63aa7a5
memory_feature - update to use mapnik-geometry
2015-03-13 11:05:56 +01:00
artemp
914b8dbd76
Merge branch 'master' into mapnik-geometry
2015-03-12 15:14:45 +01:00
Artem Pavlenko
9117e7d9ff
Merge pull request #2621 from mapycz/markers-upright
...
marker direction
2015-03-12 14:58:16 +01:00
artemp
50ca6fcbe8
Merge branch 'master' into mapnik-geometry
2015-03-12 14:55:45 +01:00
artemp
b823d6dc34
geojson - fix brackets blues
2015-03-12 14:53:47 +01:00
artemp
48ce3ccc38
wkt generator fix erroneous brackets
2015-03-12 14:43:19 +01:00
artemp
6d13454f72
reinstate 'from_wkt' interface
2015-03-12 14:12:53 +01:00
artemp
c4607aaeeb
wkt-generator - update to mapnik-geometry model
2015-03-12 14:12:14 +01:00
artemp
2753db1c4c
factor out boost::spirit::traits::transform_attribute into separate header
2015-03-12 14:11:52 +01:00
artemp
da45acb047
wkt parser grammar - allow MULTIPOINT(x0 y0, x1 y1,....,xN yN) as well
...
as MULTIPOINT((x0 y0), (x1 y1),....,(xN yN)) syntax
2015-03-12 11:58:09 +01:00
artemp
f72291650b
fix line_string tag typo
2015-03-11 15:20:24 +01:00
artemp
26fdd0b680
python bindings - restore from_wkt method
2015-03-11 12:28:04 +01:00
artemp
525cb60f0c
fix compilation (add required headers and typedef)
2015-03-11 12:23:27 +01:00
artemp
f3edf2dfc0
wkt_grammar - update to use mapnik-geometry and optimise(minimise) memory allocations
2015-03-11 11:55:43 +01:00
Blake Thompson
fe01d52845
Removed unused resolution data from grids
2015-03-10 23:19:30 -05:00
Blake Thompson
f715f9cf22
Updated the name of methods in grids from properties to fields because they are an array rather then a map.
2015-03-10 19:59:46 -05:00
artemp
c3284aa958
Merge branch 'master' into mapnik-geometry
2015-03-10 11:17:53 +01:00
Blake Thompson
7ee9745a8f
Updated param to allow value_boolean
2015-03-09 16:33:20 -05:00
artemp
a89dd47a4b
Merge branch 'master' into mapnik-geometry
2015-03-09 18:48:58 +01:00
artemp
0863ef1e92
vertex_processor - handle geometry_collection
2015-03-09 18:47:34 +01:00
Blake Thompson
e20c68d384
Corrected a bug in hsl2rgb where if s was equal to zero an incorrect result was achieved.
2015-03-09 12:07:39 -05:00
artemp
40c9abcb2b
calc centroid
2015-03-09 17:00:00 +01:00
artemp
f919bd2c41
fix applying clip flag
2015-03-09 16:58:32 +01:00
artemp
cc3f8be837
remove unused headers
2015-03-09 16:37:26 +01:00
artemp
317e9c497f
Merge branch 'master' into mapnik-geometry
2015-03-09 14:59:45 +01:00
Blake Thompson
ffad24f31d
Added bugfix for image_view where if an image of zero width or height created a view, it would cause a segfault because it created a 1,1 size view.
2015-03-08 23:28:56 -05:00
Blake Thompson
61abe608ee
Added the ability to get_type from an image, fixed possible bugs associated with image copy.
2015-03-06 17:24:23 -06:00
artemp
174bc5969a
text symbolizer update to mapnik-geometry (partial)
2015-03-06 12:17:02 +01:00
Blake Thompson
ea6677df37
A fix to the jpeg driver making it operate with parameters like the other file formats.
2015-03-05 21:51:48 -06:00
artemp
8411cdfa0c
add centroid
2015-03-05 22:30:38 +01:00
artemp
d682c5a201
markers placement update
2015-03-05 20:54:36 +01:00
artemp
aa5ae6b843
update markers_symbolizer to work with mapnik-geometry (work-in-progress)
2015-03-05 15:07:23 +01:00
artemp
38dc240d6d
geometry - add generic is_valid(), is_simple() and correct()
2015-03-05 12:11:23 +01:00
artemp
d25ef607a2
cleanup
2015-03-05 12:09:16 +01:00
artemp
13a5bdf984
minor formatting
2015-03-05 12:08:21 +01:00
artemp
ee77a0ef10
correct arg type
2015-03-05 10:45:12 +01:00
artemp
24a586415c
expose wkbByteOrder in wkb.hpp
2015-03-05 10:44:40 +01:00
artemp
b66739cf86
move fusion adapted geometry into separate header to avoid duplication
2015-03-05 10:43:03 +01:00
artemp
87e9c64fc4
topojson grammar - add optional bbox element which is omitted
2015-03-04 14:55:13 +01:00
artemp
a6f0c30a74
topojson grammar - add optional bbox element which is omitted
2015-03-04 14:52:55 +01:00
artemp
f4a1e9368b
wkb_reader/json input grammar - correct polygons to have CCW exterioir/CW interior
2015-03-04 12:09:08 +01:00
artemp
9e35540b50
fix line_string iterator types
...
register CCW polygons - CCW exterior and CW interior rings
remove unused code (cleanups)
2015-03-04 12:07:22 +01:00
artemp
3ddfe34aa5
Merge branch 'master' into mapnik-geometry
2015-03-04 10:30:08 +01:00
artemp
587437c368
variant - add get<T> overloads where T is stored as recursive_wrapper<T> and avoid directly dealing with recursive_wrapper<T>
2015-03-04 10:19:30 +01:00
artemp
ec7f2f3f0c
feature_generator - adapt to new geometry generator
2015-03-04 09:23:57 +01:00
artemp
920a9549c4
geometry_generator - new copy-less grammar
2015-03-04 09:21:22 +01:00
artemp
bdbaf947f7
default assignment op + cleanups
2015-03-04 09:19:53 +01:00
Dane Springmeyer
4afcac5563
try to solve #2714
2015-02-26 11:12:19 -08:00
artemp
c58a5b4151
json : geometry_generator_grammar for mapnik-geometry (TODO)
2015-02-26 16:24:07 +01:00
artemp
a3b7328936
add 'which' method for compatibility with boost::variant
2015-02-26 16:23:20 +01:00
artemp
da1bc2463d
c++11 syntax
2015-02-26 16:22:56 +01:00
artemp
b74976d547
make inline
2015-02-26 16:22:34 +01:00
artemp
102fd539f9
generic way to apply vertex converters to mapnik-geometry
2015-02-24 15:18:46 +01:00
artemp
0d6eb8bcab
rename polygon_vertex_adapter_3 -> polygon_vertex_adapter
2015-02-24 14:31:32 +01:00
artemp
0885dfb15a
rename polygon3 -> polygon
2015-02-24 14:13:00 +01:00
artemp
e99db29214
move vertex_processor into separate header
2015-02-24 13:58:46 +01:00
artemp
367208ece1
generic geometry_type impl
...
remove geometry_type from mapnik::datasource
2015-02-24 11:17:26 +01:00
artemp
8400be91c7
generic box2d<double> envelope(geometry const& )
2015-02-24 10:42:33 +01:00
Dane Springmeyer
89e36a8685
adapt json geometry_parser to fca584de1b
2015-02-23 23:44:44 -08:00
artemp
6f13044d09
update bounsing box grammar to work with mapnik-geometry
2015-02-23 18:05:50 +01:00
artemp
07ab1fea66
fix namings
2015-02-23 18:05:13 +01:00
artemp
5cd0771824
json grammar - add support for geometry_collection
2015-02-23 17:40:16 +01:00
artemp
c4315ca46b
remove unused type alias
2015-02-23 17:39:11 +01:00
artemp
fca584de1b
json grammar - start porting to mapnik-geometry
2015-02-23 12:19:00 +01:00
artemp
968ab32c02
enable copy ctor (needed by json geometry grammar)
2015-02-23 12:09:42 +01:00
artemp
e523d648df
formatting
2015-02-23 10:06:13 +01:00
artemp
2a8174831a
mapnik-geometry - simplify and streamline implementation
2015-02-20 17:44:35 +01:00
artemp
9f84ed6950
position_grammar - start using mapnik-geometry
2015-02-20 17:43:59 +01:00
artemp
60f38780b3
boost.geometry <-- mapnik-geometry adapters
2015-02-20 17:43:07 +01:00
artemp
30da25a9c7
add geometry_collection type
2015-02-20 17:21:17 +01:00
artemp
7031099b76
Merge branch 'master' into mapnik-geometry
2015-02-20 17:03:46 +01:00
artemp
6d8ff4a476
add temp convinience methods
2015-02-19 17:13:00 +01:00
artemp
87d60620c2
mapnik-geometry : update wkb reader
2015-02-19 16:04:14 +01:00
artemp
9bb95d208c
add include guard
2015-02-19 16:01:46 +01:00
artemp
42983ff015
add basic support for point_symbolizer and mapnik::new_geometry::point
2015-02-19 10:45:03 +01:00
Dane Springmeyer
dd0b8459f5
insert_marker to take rvalue it if is moved inside the function
2015-02-19 01:37:45 -08:00
Dane Springmeyer
cb869e60f3
no need for templated 'raster_marker_render_thunk'
2015-02-19 01:36:43 -08:00
Blake Thompson
744dc4472f
Merge branch 'release/image_data_any' of github.com:mapnik/mapnik into release/image_data_any
2015-02-18 23:02:34 -06:00
Blake Thompson
390fbaac92
BOOM SHAKALAKA:
...
This update is in Ref #2649 . It provides an update to markers and their processing such that:
* All shared_ptrs are no longer required around markers
* Markers are now const
2015-02-18 22:58:33 -06:00
artemp
b49b8042c1
shape.input/agg - add polygon3 support
2015-02-18 18:12:47 +01:00
artemp
604d7b08af
use reserve
to pre-allocate line_strings + cleanups
2015-02-18 13:48:05 +01:00
artemp
2e4e1f71b8
adapt to use mapnik::new_geometry::geometry (shape.input only)
2015-02-18 13:21:16 +01:00
artemp
a1f7017d45
new geometry implementation - initial barebone framework
2015-02-18 11:07:26 +01:00
Dane Springmeyer
817489e97a
functions fully defined in hpp do not need MAPNIK_DECL - refs #2708
2015-02-16 19:05:41 -08:00
Dane Springmeyer
842e4bebe6
start fixing windows compile - refs #2708
2015-02-16 18:48:14 -08:00
Blake Thompson
b2c1c86d99
Merge branch 'master' into release/image_data_Any
...
Conflicts:
benchmark/test_polygon_clipping.cpp
2015-02-16 14:37:01 -06:00
Blake Thompson
0cd9c1fc34
Updated image_any building switch statement to support all the correct types, added tests for all the new data formats with get and set in python.
2015-02-16 14:23:55 -06:00
Dane Springmeyer
1ebd6afd9c
improve sql subselect parsing + add tests - closes #2704
2015-02-13 01:26:19 -08:00
Dane Springmeyer
2aaaecbcaf
initialize pos_ variable in path_iterator + fix spelling
2015-02-12 11:38:31 -08:00
Dane Springmeyer
58645c7842
json error handler: fix -Wunused-parameter warning
2015-02-11 23:13:59 -08:00
Dane Springmeyer
7fbc254673
fix polygon_clipper to work with vertex_adapter
2015-02-11 15:52:36 -08:00
Dane Springmeyer
89a58c5879
Merge branch 'master' of github.com:mapnik/mapnik into release/image_data_any
2015-02-11 10:01:42 -08:00
Dane Springmeyer
1dc5452c74
msvs 2014 compile fixes
2015-02-10 18:20:08 -08:00
Dane Springmeyer
2042ffd824
avoid need to instanciate expensive svg_path_generator twice
2015-02-10 12:16:01 -08:00
Dane Springmeyer
6d611b8e1a
cleanup commented code
2015-02-09 23:28:27 -08:00
artemp
1ecf3f0889
use const ref when iterating over geometries in feature
2015-02-09 13:46:01 +01:00
Jiri Drbalek
1cd5e69b3a
add direction property for markers
2015-02-07 12:23:35 +00:00
Jiri Drbalek
87cc1347c7
move normalize_angle to utils
2015-02-07 12:23:17 +00:00
Blake Thompson
6e0d6d423b
Merge branch 'master' into release/image_data_any
...
Conflicts:
include/mapnik/grid/grid_marker_helpers.hpp
2015-02-06 16:19:40 -06:00
Blake Thompson
9875335fb8
Renamed image_cast to image_copy
2015-02-06 15:27:19 -06:00
artemp
0f22fb596b
enforce geometry_type const by removing ``inline geometry_type& get_geometry(std::size_t index)
``
2015-02-06 17:13:41 +01:00
artemp
e19fdad3a6
implement vertex interface in vertex_adapter and make mapnik::geometry_type immutable
2015-02-06 16:45:51 +01:00
Jiri Drbalek
5418b8ea40
prefer hyphens as word separator for enum values
2015-02-06 15:37:28 +00:00
Jordan Hollinger
187a42f006
Merge pull request #2680 from mapycz/rm-grid_marker_helpers
...
remove redundant header
2015-02-05 17:01:36 -05:00
Blake Thompson
04d51d3696
Another small change hopefully to fix linux build isssues.
2015-02-04 21:19:59 -06:00
Blake Thompson
5966b12973
Small changes to hopefully fix compile issues on linux
2015-02-04 20:48:59 -06:00
Blake Thompson
c0fcf48019
Fixed issues with SSE compare when the threshold is greater then zero. Added several new SSE methods for unsigned integers.
2015-02-04 17:46:18 -06:00
Blake Thompson
ffb34544e6
Merge branch 'master' into release/image_data_any
2015-02-04 15:46:54 -06:00
Blake Thompson
2b8bd59d82
A large set of updates:
...
* Added new gray data types adding those to the variants and updating all the code necessary for them
* Added basic SSE to the image compare method, (only for RGBA) must be enabled with the -DSSE_MATH flag this is not yet put into the build process in any location.
* Fixed the resulting image for some TIFF visual tests, most likely they were incorrect due to fixes in TIFF reader
* Added some MAPNIK_DECL where necessary to grid rendering.
* Added support for more data types in GDAL plugin with grayscale images.
* Added views for all the new gray data types
* Updated python bindings for new gray data types.
Ref #2681
2015-02-04 15:41:58 -06:00
artemp
ae9eafa2c1
allow "stringified" nested objects and arrays as feature property
2015-02-04 18:28:47 +01:00
Jiri Drbalek
f38ee06224
remove redundant header
2015-02-04 14:46:17 +00:00
Jiri Drbalek
1fcbdc3e98
add upright value auto-down
2015-02-03 16:08:36 +00:00
artemp
9f282af61a
json - instantiate grammars using Iterator = char const* to avoid potentially expensive std::string allocations
2015-02-03 13:37:39 +01:00
Dane Springmeyer
71e7faed0d
Merge branch 'master' of github.com:mapnik/mapnik into release/image_data_any
...
Conflicts:
tests/python_tests/image_test.py
tests/python_tests/image_tiff_test.py
tests/visual_tests/images/tiff-opaque-edge-raster2-600-400-1.0-agg-reference.png
tests/visual_tests/images/tiff-opaque-edge-raster2-600-400-2.0-agg-reference.png
2015-02-03 00:05:15 -08:00
Dane Springmeyer
c361e538f7
Merge pull request #2671 from sarametz/png8_encoding_bug
...
Png8 encoding bug
2015-02-02 14:08:05 -08:00
Dane Springmeyer
074b1e2836
cleanup commented code after 89e516b493
2015-02-02 10:46:20 -08:00
artemp
d5ff3f5f2c
fix bbox extractor
2015-02-02 18:44:56 +01:00
artemp
89e516b493
unicode string grammar via boost/libs/spirit/example/qi/json/json/parser/grammar.hpp
...
update json based grammars
2015-02-02 11:22:54 +01:00
Blake Thompson
5a4f9321d0
A few updates to attempt to fix pixel getting and setting
2015-01-29 16:10:56 -07:00
Sara Metz
f38d2ee69b
Fixes bugs that cause tests in PR #2599 to fail
2015-01-30 10:40:50 +13:00
Jiri Drbalek
711fc8ccf2
fix gcc compile
2015-01-29 20:50:37 +00:00
Blake Thompson
826e13f911
Renamed background to fill, added numeric casting to fill utility, changed clog uses to MAPNIK_LOG, changed the implementation of fill some so that it only used a single template
2015-01-29 13:27:42 -07:00
artemp
e3c96666c4
json - make feature_collection_grammar "on-feature" callback based
2015-01-29 12:33:18 +01:00
Blake Thompson
de99180a44
Added new image_cast method and added its bindings to python, added two new properities to images: offset and scaling. Added way to cast between image types with offset and scaling. Added new unit tests for color and casting. Made it so that pixel setting doesn't result in overflows or underflows. Made the return of get_pixel, dynamic based on what is passed to it. Added new methods for setting pixels that are doubles and ints.
2015-01-28 20:20:14 -06:00
artemp
1f3e36c3ec
use perfect forwarding to resolve copy/move semantics of universal references - #2651
2015-01-28 12:55:57 +01:00
artemp
cf16f5e6c9
move operator<< into separate header <mapnik/util/variant_io.hpp>
2015-01-27 21:42:35 -08:00
Blake Thompson
dc931555d2
Added required include
2015-01-27 17:18:20 -06:00
Blake Thompson
bc28c12572
Found more situations where getRowSize should be used over multiplying the width by the pixel size.
2015-01-27 15:29:43 -06:00
Blake Thompson
b090882902
Added compare utility to python bindings and image_util, modified set_grayscale_to_alpha to take a color optionally.
2015-01-27 11:41:05 -06:00
Dane Springmeyer
48982c0619
Merge branch 'master' of github.com:mapnik/mapnik into release/image_data_any
...
Conflicts:
tests/python_tests/image_tiff_test.py
2015-01-26 20:09:00 -08:00
artemp
2a3af1eb40
move boost.geometry <-- mapnik::box2d<double> into separate header for better modularity and code re-use
2015-01-26 10:37:09 +01:00
Blake Thompson
31a0caf2e4
Merge branch 'master' into release/image_data_any
2015-01-25 14:09:29 -06:00
Blake Thompson
f616367ac2
Including std library that was missing.
2015-01-24 21:16:36 -06:00
Blake Thompson
5d9f047002
Fixed some issues in color and bindings where you could create a color and premultiplied was not set and it was resulting in it being assigned randomly, causing some issues at runtime.
...
Updated some images in visual tests that were orginally set prior to all tiffs being premultiplied, this was causing a slight difference in a few pixels.
Updated the tiff tests a lot.
Fixed tiff reader so that it always considers everything read from RGB or RGBA as premultiplied. This is due to the fact that RGBA reader always premultiplies the alpha no matter its original form.
Put in a fix so that the file does not exist no longer shows up in the test running.
Fixed some failing tests in the c++ test due to tiffs now always being premultiplied for RGB(A)
2015-01-24 20:48:15 -06:00
Blake Thompson
a100b2fe1f
Fixed the issues associated with TIFFs, now they always will return as premultiplied in the event they are rgba8 due to the way that the TIFF reader operates. Also added premultiply as a flag inside color class and exposed many of its components, made it so that setting and getting pixels took into consideration the state of the color and the image when dealing with the two.
2015-01-23 18:08:59 -06:00
artemp
7f0e77d172
Merge branch 'master' into large-geojson
2015-01-23 18:12:33 +01:00
Dane Springmeyer
ec111c8a27
add extra metadata to lyr desc + use for srid/keyfield in postgis - closes #2650
2015-01-22 18:44:56 -08:00
Blake Thompson
490645d2e3
Perhaps a solution to TIFF IO problems
2015-01-22 20:36:45 -06:00
Blake Thompson
51172c8fdf
Move image_data.hpp to image.hpp and renamed most everything from image_data to image alone. This might lead to the need to clean up some variables that are currently named image through out the code at some time, but I think in the long term is much better as image is a better name for the base class.
2015-01-22 11:39:37 -06:00
Blake Thompson
e353225772
Modified the name of image_data_null to image_null.
2015-01-22 10:58:01 -06:00
Blake Thompson
e01ce5b7d6
Changed image_data_gray* to image_gray* Ref #2633 .
2015-01-21 21:08:04 -06:00
Blake Thompson
22a384ef33
Moved image_data_rgba8 to image_rgba8. Ref #2633
2015-01-21 20:31:02 -06:00
Blake Thompson
e4a5424613
Merge branch 'release/image_data_any' of github.com:mapnik/mapnik into release/image_data_any
2015-01-21 19:40:23 -06:00
Blake Thompson
0f388ed68f
Changed the name of image_data_any to image_any. Moved header file for image_data_any to image_any. Ref #2633
2015-01-21 19:40:12 -06:00
Dane Springmeyer
82bc43c76f
fix stray include of graphics.hpp
2015-01-21 16:32:31 -08:00
Blake Thompson
93f835177b
Removed all the code for the previous type of image and image_32. Ref #2633
2015-01-21 17:57:16 -06:00
Blake Thompson
b57b1c12d6
Some smaller fixes that cause the proper operator to be called in visitor_create_marker. All tests now passing. Ref #2633
2015-01-21 17:09:53 -06:00
Blake Thompson
9fda26f859
Merge branch 'release/image_data_any' of github.com:mapnik/mapnik into release/image_data_any
2015-01-20 18:33:50 -06:00
Blake Thompson
badb0c9a97
This is a complete removal of code that utilizes image_32 in the library. It is a sweeping change that does some of the following:
...
* Changes all agg_renderers to use a image_data_any variant (only image_data_rgba8 is implemented currently)
* Changes the marker and marker_cache to use image_data_any images
* Changes the symbolizers so that they must be aware of the source data type they are attempting to render and the render type that is expected to be rendered into.
* Moves many utilities into image_utils, that were previously in image_32.
The kicker is that this still isn't working perfectly yet, but I am commiting so I don't have tears in case everything is lost on my computer.
Ref #2633
2015-01-20 18:30:10 -06:00
Dane Springmeyer
97869f7dc1
minor include cleanup for image_utils
2015-01-20 09:06:21 -08:00
Blake Thompson
2439f1b298
A whole lot of changes. #Ref 2633
2015-01-20 10:48:33 -06:00
artemp
5a7a285216
extraxt_bounding_box_grammar - add generic json support to deal with arbitary key:value's in GeoJSON
2015-01-20 12:05:35 +01:00
artemp
9a74a55dd6
formatting
2015-01-20 11:29:58 +01:00
artemp
a408a84fb0
ignore invalid bounding boxes from "geometry": null
2015-01-19 22:04:21 +01:00
artemp
15a83ff54d
extract bounding boxes from GeoJSON - re-implement grammar to store offset and size of "Feature" elements
2015-01-19 18:09:23 +01:00
Blake Thompson
aa03cf4f7c
Implemented a new get_pixel method to go along with the set_pixel method in image_util. Ref #2633
2015-01-16 22:15:33 -06:00
Blake Thompson
a002139e18
Added set_pixel to visitor pattern and moved it to image_util. Added exception throwing in composite only if debug flags are on.
...
Ref #2633
2015-01-16 18:26:56 -06:00
Blake Thompson
1470bea9cb
Migrated composite_pixel out of image_32, it is now in image_utils. Ref #2633
2015-01-16 16:48:43 -06:00
Blake Thompson
0b2c4e57cf
Merge_rectangle has met the wood chipper. Ref #2633
2015-01-16 16:04:02 -06:00
Blake Thompson
a7b8ca2888
Moved set_rectangle out of image_32 into image_util.
...
Ref #2633
2015-01-16 15:36:53 -06:00
Blake Thompson
35be6117c8
Merge branch 'master' into release/image_data_any
2015-01-16 13:09:25 -06:00
Blake Thompson
aebb6fee58
Removed the background and set/get background from image_32 class. Removed clear method from image_32. Added new fill method for image_data_any, that allows many generic types to fill an image.
...
Ref #2633
2015-01-16 13:06:52 -06:00
artemp
b15224af1b
add <iomanip> for std::setprecision
2015-01-16 17:19:17 +01:00
artemp
da960fea33
use std::advance to work with std::iterators
2015-01-16 16:40:28 +01:00
artemp
b6cd3b37ef
store {bbox, offset} to match boost.geometry rtree instantiation
2015-01-16 16:24:31 +01:00
artemp
8b19793dc8
fix grammar (use iter_pos parser instead of hacking raw[] directive) + cleanups
2015-01-16 10:05:02 +01:00
artemp
785cf5c09f
extract_bounding_box grammar initial impl
2015-01-16 09:48:57 +01:00
Blake Thompson
33ccc12355
Moved set_color_to_alpha and set_grayscale_to_alpha to image_util.
...
Ref # 2633
2015-01-15 20:26:20 -06:00
Blake Thompson
3b1c99ff1b
Moved set_alpha to src/image_util.cpp and out of image_32. Added a boolean response to premultiply_alpha and demultiply_alpha so that if it is changed in set_alpha and other locations like the python bindings for composite that the image can be restored to its original state. Removed blend from python bindings.
...
Ref #2633
2015-01-15 17:57:21 -06:00
Blake Thompson
1f540b42c6
Removed the set_rectangle_alpha code from image_32. Added new blend using composite to python bindings to replace it by doing src_over with composite.
...
Ref #2633
2015-01-15 13:01:32 -06:00
Dane Springmeyer
cf646030f3
move is_solid to hpp for now to avoid linking errors
2015-01-15 10:21:11 -06:00
Dane Springmeyer
61bc705117
fix linking error with saving image
2015-01-15 10:14:01 -06:00
Blake Thompson
7ce7416999
Added is_solid to image_utils. It is currently built to support the eventual use of image_view_any and image_data_any, but for a limited time supports the passing of image_view_rgba8 and image_data_rgba8.
...
Ref #2633
2015-01-15 10:14:00 -06:00
Dane Springmeyer
364fb4961b
fix handling of premultiplied pixels during rendering
2015-01-14 21:04:05 -08:00
Dane Springmeyer
b55d5def0d
sync with latest master/3.x
2015-01-14 18:35:40 -08:00
Blake Thompson
202a0e8e5f
Added a lot of premultiply_alpha functions to attempt to have proper premultiplication of data prior to compositing. There still seem to be some errors in the resulting images, but I am not quite sure what they are yet.
2015-01-14 18:29:00 -06:00
Blake Thompson
42c7d7ddf2
Merge branch 'release/image_data_any' into feature/premultiply_demultiply_move
2015-01-14 15:37:06 -06:00
Blake Thompson
03440c0108
Merge branch 'master' into release/image_data_any
2015-01-14 15:36:03 -06:00
Blake Thompson
cbc76f7361
Some minor corrections to allow for the source to build properly with out linking errors with vis to hidden.
2015-01-14 15:24:16 -06:00
Blake Thompson
4184f75011
Moved premultiply and demultiply out of image_32 and other parts of the code. The image_data object is now responsible for keeping track of its own premultiplied_alpha status. Created a new utility method in image_util to preform premultiplication.
...
Added visitor pattern to several different methods as well to prepare for image_data_any including compositing.
Ref #2633
2015-01-14 12:42:30 -06:00
artemp
235326c8db
image_32 : add image_32(image_data_rgba8 &&) ctor
2015-01-13 11:44:24 +01:00
Dane Springmeyer
056feb4daa
add text-transform:reverse + full test coverage for text-transform uppercase/lowercase/capitalize - closes #2634
2015-01-12 15:38:21 -08:00
Blake Thompson
f58f65ee4c
Merge branch 'master' into release/image_data_any
2015-01-12 15:07:00 -06:00
Blake Thompson
2379c396c3
Removed unrequired save_as_jpeg in image_util.hpp
2015-01-12 15:06:39 -06:00
Blake Thompson
7a16ebe7fa
Merge remote-tracking branch 'origin/image' into release/image_data_any
2015-01-12 14:51:08 -06:00
Blake Thompson
42ee4ec90d
Moved cairo out of the image_util.*pp files and now have created a cairo_io.*pp files.
...
Ref #2622
2015-01-09 16:49:31 -05:00
Dane Springmeyer
c7bb16fcd9
amend/partially revert #2609
2015-01-09 12:11:41 -08:00
Dane Springmeyer
014af51d95
repack svg::path_attributes - drops 387 -> 376 (then 360 with gradient packing) - refs #2631
2015-01-09 11:56:52 -08:00
Dane Springmeyer
2a5dd5e924
pack mapnik::gradient to save 8 bytes (128 -> 120) - refs #2631
2015-01-09 11:43:17 -08:00
Blake Thompson
08c675e1a4
Merge branch 'master' into bugfix/image_util_impl
...
Conflicts:
include/mapnik/image_view.hpp
src/image_util.cpp
2015-01-08 20:25:15 -05:00
Blake Thompson
094d0ec3e1
Another large set of modifications, finally allow this branch to build. Mostly modifications to the image_util_* files. Different processing based on the image type is now possible, and save_to_stream now could possibly accept grayscale with out breaking existing code.
2015-01-08 19:31:14 -05:00
Blake Thompson
035557450d
Split out the process for tiff, webp, and jpeg into their own util folders. Added the intial concepts for an image_view_any variant.
2015-01-08 16:55:51 -05:00
Dane Springmeyer
d22ad11b09
remove unneeded image_32 signatures for save_to_string/file after fbecd5f
2015-01-08 13:55:25 -08:00
Dane Springmeyer
acb3bb0821
trim down image_32 - refs #2627
2015-01-08 13:16:32 -08:00
Dane Springmeyer
e4cb1b33a0
remove getData and getBytes on image_view (they are unused) - refs #2627
2015-01-08 10:52:40 -08:00
Blake Thompson
472e41966d
Added new scaling trait for image_32 as it is a part of image_data_any
2015-01-08 11:52:44 -05:00
Blake Thompson
81ef4225ac
Continuing to modify various areas of image_util so that save_to_stream will be provided an image_data_any object.
2015-01-08 11:30:02 -05:00
Blake Thompson
847682d783
Some more minor changes
2015-01-08 10:17:07 -05:00
Blake Thompson
cc0a27f2f0
More stuff to break it all
2015-01-08 10:17:07 -05:00
Blake Thompson
454326df17
An intial commit of a large set of changes attempting to clean up the way that saving images is processed in image_util.hpp and image_util.cpp.
...
* Changed the passing of rgba_palette to a shared_ptr in order to better facilitate the use of a visitor pattern.
* Moved PNG util processing into its own set of files so that image_util_impl.hpp would not have to depend on HAVE_PNG.
2015-01-08 10:13:06 -05:00
artemp
8db7f58e8f
image_compositing - fix composite method signature to composite(T & dst, T const& src,...) via providing const_rendering_buffer adapter
2015-01-08 12:45:04 +01:00
artemp
515491ab70
image_compositing - fix composite method signature to composite(T & dst, T const& src,...) via providing const_rendering_buffer adapter
2015-01-08 12:42:38 +01:00
artemp
b53430110a
Merge branch 'master' into image
2015-01-08 10:27:21 +01:00
Blake Thompson
6df688160c
More stuff to break it all
2015-01-07 18:16:38 -05:00
Dane Springmeyer
481b6b7958
remove uneeded/unused nonconst access to image_view - amends 0d2eb9cb5f
2015-01-07 15:12:11 -08:00
Blake Thompson
a3f6a989de
An intial commit of a large set of changes attempting to clean up the way that saving images is processed in image_util.hpp and image_util.cpp.
...
* Changed the passing of rgba_palette to a shared_ptr in order to better facilitate the use of a visitor pattern.
* Moved PNG util processing into its own set of files so that image_util_impl.hpp would not have to depend on HAVE_PNG.
2015-01-07 15:44:31 -05:00
artemp
00a20b78da
add initial support for writing image_data_gray16 ( only TIFF supported )
2015-01-07 18:17:44 +01:00
artemp
cd0ac2d0f6
Merge branch 'master' into image
2015-01-07 17:49:51 +01:00
artemp
5361d21beb
move mapnik::noncopyable to mapnik::util::noncopyable where it belongs
2015-01-07 13:11:09 +01:00
artemp
18554ec0b1
remove static_visitor usage and rely on automatic result type deduction
...
(NOTE: expression_evaluator requires ```using result_type = T1;``` )
Conflicts:
src/image.cpp
2015-01-07 11:39:06 +01:00
artemp
affc5ee7c1
update variant to the latest version
2015-01-07 11:38:10 +01:00
artemp
c2ea32feac
remove static_visitor usage and rely on automatic result type deduction
...
(NOTE: expression_evaluator requires ```using result_type = T1;``` )
2015-01-07 11:35:21 +01:00
artemp
b28aadcf41
update variant to the latest version
2015-01-07 10:51:59 +01:00
artemp
b0b89e76d1
image class - containing image_data_any and initial basic python interface
2015-01-06 12:44:28 +01:00
Dane Springmeyer
2a33ead4cc
finish centralizing boost::filesystem usage to single cpp file - refs #1177
2015-01-06 00:33:33 -08:00
Dane Springmeyer
b396db54dd
fix -Wsign-compare warning in image_data.hpp
2015-01-05 14:21:59 -08:00
Dane Springmeyer
14015fefe4
fix json output escaping to match json spec
2015-01-05 12:03:16 -08:00
artemp
c9672b6a9d
escaped_string - fix output encoding
2015-01-05 14:23:10 +01:00
artemp
fa8feea603
remove unused utf8 phoenix function
2015-01-05 12:39:18 +01:00
artemp
bb9b9ff031
feature_generator_grammar - template get_id on FeatureType
2014-12-23 09:07:31 +01:00
artemp
132507571b
template feature_generator_grammar on FeatureType - ref #2546
2014-12-22 15:56:46 +01:00
artemp
14b497d236
use boost::phoenix v3 style declaring return types
2014-12-22 11:58:11 +01:00
artemp
f1373883c2
json feature_generator_grammar - re-factor properties_generator_grammar into separate compilation unit - ref #2546
2014-12-22 11:52:13 +01:00
Dane Springmeyer
dc8253ec2a
support expressions in text-placements - closes #2597
2014-12-19 19:05:54 -08:00
artemp
008168f75c
image_data - ref #1927
...
* store image width and height in dimensions object
* allow specifying max_size for width and height (default 0xffff)
* throw if width or height are out of range - 0...max_size
2014-12-19 11:52:40 +01:00
Dane Springmeyer
c051f61646
dont set nodata for image_data_rgba8: fixes tiff_reprojection-1 visual test
2014-12-17 12:26:23 -08:00
Dane Springmeyer
387b8f85d5
new dot symbolizer for fast rendering of points - refs #1651 mapbox/mapnik-vector-tile#62 #2612
2014-12-17 12:01:28 -08:00
Dane Springmeyer
17d3bd8a9d
consistent std::move in image data move ctor
2014-12-17 12:01:28 -08:00
Joel Brown
52d4b0edfd
change config_error to std::runtime_error in scale_hsla struct
2014-12-17 12:01:05 -08:00
Dane Springmeyer
b86a2d4c7e
remove debug prints
2014-12-17 08:52:04 -08:00
Dane Springmeyer
ffe8f71008
refactor premultiplication handling in raster rendering
2014-12-17 08:52:03 -08:00
artemp
160e9bb9b5
warp - initialise target with nodata if available
2014-12-17 14:54:54 +01:00
artemp
0d7fbdc25d
implement image_data_warp_dispatcher + fix hardcoded nodata
2014-12-17 14:26:17 +01:00
artemp
78fbc6df17
expose warp_image templated method
2014-12-17 14:24:58 +01:00
artemp
1df88908e4
refactor warping code to work with different pixel_types and minimise code duplication
2014-12-16 12:04:18 +01:00
artemp
7518459ba1
remove redundant case
2014-12-16 12:03:54 +01:00
artemp
110841fc55
image_scaling - re-factor set_scaling_method for re-use accross code base
2014-12-16 10:37:50 +01:00
artemp
979d706c26
move image_scaling traits into separate header to enable code sharing
2014-12-16 10:13:40 +01:00
artemp
89a84150ee
use std::move
2014-12-15 14:58:00 +01:00
Blake Thompson
0d2eb9cb5f
Updates for Ref #2594 and #2592 (Related to #2491 )
...
* Added support for scanline, stripped and tiled
* Added new configuration options for TIFF:
- method
- tile_height (Default 0)
- tile_width (Default 0)
- rows_per_strip (Default 0)
* Removed 'scanline' configuration option for TIFF.
* Changed RGBA TIFFs to be ASSOCALPHA rather then UNASSOCALPHA
2014-12-15 02:52:32 +00:00
artemp
85d954ab6a
make composite method templated and fix visibility issue
...
(reverts 1ff4125e92
)
2014-12-12 11:39:36 +01:00
artemp
5dd87de782
template scale_image_agg on image_data_type to squash code duplication
2014-12-11 18:54:32 +01:00
artemp
6b7ae6d700
use image_data_dispatcher to dispatch composite/colorize based on image_data_type
2014-12-11 11:07:21 +01:00
artemp
9caf17e397
correct image_data typo
2014-12-11 11:05:17 +01:00
artemp
f921e1eef4
raster_colorizer - template colorize method on image_data type
2014-12-11 10:10:32 +01:00
artemp
74c96f0bda
make bounding_box return optional<box2d<double>> to be consistent with current behavour
2014-12-10 12:53:39 +01:00
artemp
2efde962aa
image_reader - add bounding_box virtual method
2014-12-10 10:44:51 +01:00
artemp
4b1204a3b8
correct alloc size + prefer std::copy over memcpy
2014-12-10 10:34:12 +01:00
artemp
917d346093
use RAII for resource management
2014-12-10 09:44:37 +01:00
artemp
ef64b4937c
Revert "avoid allocating memory"
...
This reverts commit 665c2f5bc0
.
2014-12-10 09:39:08 +01:00
artemp
665c2f5bc0
avoid allocating memory
2014-12-09 19:22:19 +01:00
artemp
9bf629c9b8
declare tiff callbacks inline
2014-12-09 17:30:50 +01:00
Dane Springmeyer
cf4f775855
Merge branch 'master' of github.com:mapnik/mapnik into image_data_any
2014-12-09 10:31:19 -05:00
Dane Springmeyer
653cc08500
fix msvs compile by using explicit assigment operator - closes #2588
2014-12-09 10:27:05 -05:00
Dane Springmeyer
4b2ad9e65f
port image_data fixes from image_data_any branch
2014-12-09 10:14:06 -05:00
artemp
12f051bf56
image_data - fix setRow implementation
2014-12-09 12:22:44 +01:00
Dane Springmeyer
cc2cf2876f
Merge branch 'master' of github.com:mapnik/mapnik into image_data_any
2014-12-05 09:45:12 -05:00
Dane Springmeyer
d6e9126132
fix linking of scale_image_agg - refs #2587
2014-12-05 09:43:57 -05:00
Blake Thompson
4d159a3900
fixin' okie spelling
2014-12-04 18:13:11 -05:00
Blake Thompson
bf5c532269
Series of changes for the tiff encoder:
...
* Added configuration options for the TIFF encoder. The options are:
- compression: adobe_deflate(default), deflate, lzw, none
- zlevel: 0-9
- scanline: 1,0 (Forces scanline encoding)
* Fixed bug in encoder with scanline where memory was being modified
* by TIFFWriteScanline. A buffer is now created for each row to prevent
* modification of the underlying image_data.
2014-12-04 17:11:33 -05:00
Jiri Drbalek
2282fab53e
use font-feature-settings per text_item
2014-12-04 21:19:13 +00:00
artemp
0006de7420
image_data - fix copy constructor
2014-12-04 18:26:58 +01:00
Blake Thompson
e6c5f705e5
Fixed error with selection criteria for stripe vs tiled, added modulus check on length and width to select striped in some situations, changed bitspersample for RBGA. (ref #2491 )
2014-12-04 10:48:19 -05:00
artemp
38da080f82
make concrete image_data type names more expressive and explicit about color channels/depth:
...
image_data_32 -> image_data_rgba8
image_data_8 -> image_data_gray8
image_data_16 -> image_data_gray16
image_data_float32 -> image_data_gray32f
NOTE: currently image_data_gray16::pixel_type = std::int16_t (signed 16 bit int) to match GDAL
should we support unsigned types?
2014-12-04 11:02:42 +01:00
artemp
06ab69a08e
further simplify raster rendering code
2014-12-04 10:33:28 +01:00
Blake Thompson
cdaca0ba11
Updated tiff processing so now the encoder will utilize different types of data as well as will use Tile based encoding in most situations, if the image is large will revert to scanline based encoding.
2014-12-03 18:41:49 -05:00
Dane Springmeyer
954d0db46c
Merge branch 'master' of github.com:mapnik/mapnik into image_data_any
2014-12-03 13:53:14 -05:00
artemp
de7a268333
read single band as int16 then agg_scale and colorize in gray16 color space, output rgb8 (aka image_data_32)
...
NOTE: proof-of-concept needed re-factoring/duplicate code removal
2014-12-03 18:19:44 +01:00
artemp
1df9d89a70
add to image_reader and implement empty (placeholder)
...
```image_data_any read(unsigned x, unsigned y, unsigned width, unsigned height) final```
in png/jpeg/webp/tiff readers
2014-12-03 10:44:56 +01:00
artemp
33607145a6
add image_data_null which is cheap to construct (no mem alloc)
...
add default ctor to image_data_any -> image_data_null
2014-12-03 10:26:21 +01:00
artemp
83aa06e329
move image_data_any into seprate header
2014-12-03 10:12:46 +01:00
Dane Springmeyer
1ff4125e92
fix visibility of mapnik::composite function to python bindings - refs #2587
2014-12-03 00:43:04 -05:00
Dane Springmeyer
ce7085ab63
remove duplicate/uneeded mapnik::raster ctor
2014-12-03 00:34:49 -05:00
Dane Springmeyer
4d39d2aac1
iwyu
2014-12-02 14:40:03 -05:00
Dane Springmeyer
946434002f
handle/throw on invalid encoding for ucnv_open
2014-12-02 14:21:36 -05:00
Dane Springmeyer
9d5e46a1f9
drop unsupported geotiff output - refs #967
2014-12-02 13:28:02 -05:00
Dane Springmeyer
d77463d1b8
use c++11 typed enum in vertex.hpp
2014-12-02 08:09:36 -08:00
artemp
19e3ce9035
gdal : experimenting with fetching gray scale single band as image_data_float32
2014-12-02 15:56:40 +01:00
Dane Springmeyer
d92ba2e1b0
more c++11 typed enums
2014-12-01 22:20:18 -08:00
artemp
6fec43bf9e
gdal - read single band as image_data_float32
...
(scaling/compositing FIXME)
2014-11-28 12:51:23 +01:00
artemp
bf9c99e3d3
initial image_data_any implentation (work-in-progress)
2014-11-26 12:22:36 +01:00
artemp
83bad7a816
feature_collection_grammar: fix a mistake - #2582
2014-11-24 12:42:24 +01:00
artemp
c5ab5f68d9
feature_collection_grammar: make argument order consistent across parsing rules - #2582
2014-11-24 12:37:37 +01:00
artemp
ee9481cb38
feature_collection_grammar : allow passing start_id at parse time - #2582
2014-11-24 12:26:11 +01:00
artemp
d1e0078abf
use qi::locals<std::size_t> for per parse feature id generation and remove generate_id phoenix function
...
(NOTE: ids start from 1)
2014-11-24 11:18:45 +01:00
artemp
333965b588
update copyright year
2014-11-20 15:25:50 +01:00
artemp
6adf62ec5a
image_data : remove unused owns_data_ field
2014-11-20 15:08:07 +01:00
artemp
f7649c27b0
image_data : re-factor (ref #2491 )
...
* factor out raw image data alloc/dealloc into separate detail::buffer
* remove shallow ctor
* remove no-op dtor from image_data
2014-11-20 14:36:03 +01:00
artemp
4f3521ac24
image_data: use std::size_t + various cleanups
2014-11-20 12:46:16 +01:00
artemp
79bbe13c0d
mapnik::raster : allow passing image_data into ctor
2014-11-20 10:31:56 +01:00
Jiri Drbalek
60ea198aa3
marker line placement rewrite
2014-11-13 12:51:36 +00:00
Jiri Drbalek
849a58cd80
make vertex_cache::current_segment_angle() public
2014-11-13 12:51:36 +00:00
Jiri Drbalek
000c2713ed
make marker placement methods noncopyable, movable
2014-11-13 12:51:36 +00:00
Jiri Drbalek
69fc93d87a
add move constructor to vertex_cache
2014-11-13 12:51:36 +00:00
Jiri Drbalek
3013197de7
move vertex_cache and tolerance_iterator from text directory
2014-11-13 12:51:36 +00:00
Dane Springmeyer
e397345bce
map.register_fonts recurse should be optional like font_engine
2014-11-07 19:05:28 -05:00
Dane Springmeyer
bff4465976
fix msvs compiler error - closes #2560
2014-11-04 17:50:43 -05:00
Dane Springmeyer
22bd30230a
remove unneeded option
2014-11-04 11:41:23 -05:00
Jiri Drbalek
7a89f1ab02
fix default value condition
2014-11-03 15:35:16 +00:00
Dane Springmeyer
aa85a4ff1e
default to transparent not pink if color expression fails
2014-10-27 09:23:27 -07:00
Jordan Hollinger
d524738ad9
Remove point symbolizer support from group symbolizer.
2014-10-27 09:43:42 -04:00
Jordan Hollinger
ee692eea73
Merge branch 'master' of github.com:mapnik/mapnik into group-markers
...
Conflicts:
include/mapnik/grid/grid_marker_helpers.hpp
include/mapnik/marker_helpers.hpp
include/mapnik/renderer_common/process_group_symbolizer.hpp
src/cairo/process_markers_symbolizer.cpp
src/renderer_common/process_group_symbolizer.cpp
tests/visual_tests/images/group-symbolizer-1-512-512-1.0-agg-reference.png
tests/visual_tests/images/group-symbolizer-1-512-512-1.0-cairo-reference.png
tests/visual_tests/images/group-symbolizer-1-512-512-2.0-agg-reference.png
tests/visual_tests/images/group-symbolizer-1-512-512-2.0-cairo-reference.png
2014-10-27 09:29:45 -04:00
Jordan Hollinger
16b1b5a77c
Support markers in group symbolizer.
2014-10-27 07:46:44 -04:00
Jordan Hollinger
1b15e53b63
Refactor markers dispatchers to use a common base class to share code.
2014-10-27 07:46:43 -04:00
artemp
71085323a7
Merge branch 'peucker' of git://github.com/MapQuest/mapnik into MapQuest-peucker
2014-10-24 15:20:05 +01:00
artemp
456ebe006b
fix [-Wparentheses] warning
2014-10-23 09:51:45 +01:00
Dane Springmeyer
aae4a20ec9
fix various -Wunused-parameter warnings
2014-10-21 20:23:17 -07:00
Dane Springmeyer
d25f0c316a
silence more warnings
2014-10-21 17:44:47 -07:00
Dane Springmeyer
83588937b9
silence boost warnings
2014-10-21 16:37:27 -07:00
artemp
295f15bd51
ImageData -> image_data (remove camel-case)
2014-10-21 16:06:27 +01:00
artemp
fdd646aa5b
more c++
2014-10-21 15:52:01 +01:00
artemp
30907b3dd1
use c++ std::fill/copy instead of c-style memset/memcpy
2014-10-21 14:57:34 +01:00
artemp
107bad002d
c++11 - use c++ style casts + cleanups + use std::fill
2014-10-21 14:51:27 +01:00
Dane Springmeyer
18183aed2a
fix a few -Wunused-parameter warnings
2014-10-20 22:28:40 -07:00
Dane Springmeyer
02b7537d6d
remove unused/supported second arg to parse_expression
2014-10-20 22:20:04 -07:00
artemp
52d0e3e641
expression grammar - add boolean_constants and floating_point_constants symbols
...
```python
>>> import mapnik
>>> f=mapnik.Feature(mapnik.Context(),1)
>>> expr = mapnik.Expression("rad_to_deg * pi")
>>> expr.evaluate(f)
180.0
```
2014-10-20 17:57:08 +01:00
artemp
1ed3d24193
update variant.hpp (use std::forward<T> for perfect forwarding - via @DennisOSRM)
2014-10-20 15:48:47 +01:00
Jiri Drbalek
4549c0b63c
ignore scale_factor for geometry-transform scale
2014-10-18 10:31:07 +00:00
artemp
2516d6dd43
default to GLOBAL alignment
2014-10-17 21:23:00 +01:00
artemp
ea9cc4c54b
remove cast
2014-10-17 21:22:36 +01:00
artemp
6eb65434c5
upgrade to new get<value_type, keys::key>
2014-10-17 20:45:15 +01:00
artemp
35a044578b
re-implement assign_value to use target property type
2014-10-17 18:45:08 +01:00
artemp
bbdc136b5b
fix names + update property_meta_type tuple
2014-10-17 18:44:26 +01:00
artemp
b3e3a4f6bd
update get<>() to use values from symbolizer_default_values.hpp
2014-10-17 10:39:40 +01:00
artemp
9d87f7715b
symbolizer properties default values
2014-10-17 10:38:54 +01:00
Dane Springmeyer
b90763469a
iwyu
2014-10-15 19:03:36 -07:00
Dane Springmeyer
9684880062
c file io wrapper: no need for explicit move + reset seek after checking size in ctor
2014-10-15 11:36:25 -07:00
Dane Springmeyer
e1c1371935
Merge pull request #2514 from mapycz/perf-tolerance-iterator
...
exponential tolerance_iterator
2014-10-14 20:49:19 -07:00
Dane Springmeyer
8b441cbd2d
fix mapnik/node-mapnik#332
2014-10-14 20:30:55 -07:00
Dane Springmeyer
7a58a9413d
remove uneeded include
2014-10-14 20:23:21 -07:00
Jiri Drbalek
f95f200ac1
make tolerance_iterator exponential
2014-10-14 10:47:45 +00:00
Dane Springmeyer
09f91a24a0
Merge pull request #2523 from mapycz/halign-adjust-immutable
...
halign adjust with immutability of style objects in mind
2014-10-13 18:47:37 -07:00
Dane Springmeyer
ad91c56718
Avoid BOOST_MPL_LIMIT_VECTOR_SIZE redefined warning
2014-10-13 18:06:53 -07:00
Dane Springmeyer
9a78c6dfe1
improve register_datasources + drop filesystem v2 support since v3 is default in boost >= 1.46
2014-10-13 17:43:14 -07:00
Dane Springmeyer
66ce021ad5
cairo_gradient: fallback to radial if the class is misused to prevent crash on uninitalized pattern
2014-10-13 17:26:32 -07:00
Dane Springmeyer
1f1c8a322b
initialize all member variables
2014-10-13 17:23:45 -07:00
Dane Springmeyer
4b689ef05d
fix casting to doubles
2014-10-13 17:23:30 -07:00
artemp
f8031dec96
no need to initialise `evaluated_xxx' structures as initialisation happens at evaluation step
2014-10-13 14:11:23 +01:00
artemp
7969a1c13a
use more appropriate header
2014-10-13 13:23:14 +01:00
Jiri Drbalek
1252369292
add horizontal-alignment="adjust" with immutability of style objects in
...
mind
2014-10-13 12:16:48 +00:00
artemp
4fe0c249a6
make hb_feature_t EqualityComparable
and fix font_feature_settings operator==
2014-10-13 11:22:28 +01:00
Dane Springmeyer
6b1c4d00e5
MAPNIK_DECL font_feature_settings
2014-10-12 22:00:25 -07:00
Dane Springmeyer
885a98f9c1
improve handling of format properties - refs #2516
...
- changes evaluated_format_properties_ptr to unique_ptr
- refactors group symbolizer helper to keep scope by
having each "thunk" own its helper
- glyph_info can now be noncopyable
- format node children now need an owner for their
evaluated_format_ptr so the enclosing parent layout
now allocates and holds pointers in a deque
- plus other noncopyable/move constructor fixes
2014-10-12 21:41:59 -07:00
Dane Springmeyer
35b4518b13
iwyu
2014-10-12 16:35:35 -07:00
Dane Springmeyer
a9f58c70b4
shuffle complexity into layout constructor
...
- should reduce mistakes in refactoring
- gives top level ownership of evaluated_format_properties_ptr to a layout node (#2516 )
- not sure ^^ if this actually keeps it in scope enough for rendering?
- moves data transformation functions off of text_symbolizer_properties
2014-10-12 16:07:26 -07:00
Dane Springmeyer
cf2df4f0cc
harfbuzz shaper: return early if itemizer returns empty list
2014-10-12 15:48:15 -07:00
Dane Springmeyer
f3eba54078
noncopyable glyph_info - refs #2516
2014-10-12 14:24:57 -07:00
Dane Springmeyer
2000c1713d
in place construction of glyph_positions
2014-10-12 13:54:07 -07:00
Dane Springmeyer
4e7feaf747
move glyph_positions to new cpp
2014-10-12 13:46:35 -07:00
Dane Springmeyer
94aa67b0af
vertex_cache: in place construction of segments
2014-10-12 13:30:24 -07:00
Dane Springmeyer
e4c895d4c1
zero copy usage of text_line
2014-10-12 13:23:03 -07:00
Dane Springmeyer
a648538bcd
add more code comments to placement_finder to help explain layouts
2014-10-12 12:18:59 -07:00
Dane Springmeyer
f1c3d0c3ce
iwyu in group_symbolizer_helper.hpp
2014-10-12 12:00:00 -07:00
Dane Springmeyer
a8c8ea9ac4
reserve space for glyph_pos in renderer prepare_glyphs
2014-10-11 22:59:56 -07:00
Dane Springmeyer
3d142c2712
move evaluate_text_properties to standalone function - refs #2516
2014-10-11 22:48:00 -07:00
Dane Springmeyer
e6a66aaaba
finish work to pass font_feature_settings by value - refs #2516
2014-10-11 22:39:40 -07:00
Dane Springmeyer
a61364d263
revert halign support - refs #2426
2014-10-11 20:03:56 -07:00
Dane Springmeyer
f7849cea09
make evaluated_text_properties noncopyable
2014-10-11 19:28:04 -07:00
Dane Springmeyer
477d6cc7ee
zero-copy text_item insertion
2014-10-11 19:12:15 -07:00
Dane Springmeyer
b455cc9098
give glyph_info better ctor
2014-10-11 17:52:54 -07:00
Dane Springmeyer
eabdf46118
drop unwise glyph_info caching - reverts 99a46f6910
- re-opens #2334
2014-10-11 17:32:41 -07:00
Dane Springmeyer
ba285aa9fa
remove unused (after 8bc7a56cda
) font_face::char_height_
2014-10-11 15:55:15 -07:00
Dane Springmeyer
b275144004
make cairo_context.add_text more like agg::text_renderer
2014-10-11 13:08:28 -07:00
Dane Springmeyer
e1eb9fa5b1
reduce pointer usage in text renderer - refs #2516
2014-10-10 18:01:24 -07:00
Dane Springmeyer
8bc7a56cda
use real max glyph height
...
- avoids breakage on fonts lacking an `X` glyph (#2506 )
- avoids needing to create and mutate a temporary glyph (#2516 )
- lots of minor visual changes - mostly improvements notably more correct collision boxes for lines with tall glyphs
2014-10-10 15:18:11 -07:00
artemp
74e872c48b
avoid storing evaluated text properties in text_symbolizer_properties (all style related strucures must be read-only)
...
make process(..) method const
2014-10-10 12:38:06 +01:00
Dane Springmeyer
c6ed108a72
start marking as much of the text structures as const as possible - refs #2516
2014-10-09 23:00:39 -07:00
Dane Springmeyer
2d88f736fe
remove uneeded access to format tree
2014-10-09 20:51:43 -07:00
Dane Springmeyer
c26c60e48e
remove set_old_style_expression
2014-10-09 20:51:43 -07:00
Dane Springmeyer
344108c621
const not viable yet on itemizer
2014-10-09 20:00:35 -07:00
Dane Springmeyer
364af033a2
stash work on trying to convert font_feature_settings to be passed by value
2014-10-09 19:23:11 -07:00
Dane Springmeyer
2e4a9cfaf2
itemizer should be const in icu_shaper
2014-10-09 18:44:28 -07:00
Dane Springmeyer
536b23bfde
fix uneeded pointer indirection with glyph_info/glyph_position
2014-10-09 18:38:29 -07:00
Dane Springmeyer
1fead3396b
cleanup unused clipped_ member of base_symbolizer_helper after 9835057b0f
2014-10-09 11:40:30 -07:00
Dane Springmeyer
3479fcaec5
finish templating the json geometry generator on geometry container
2014-10-09 00:48:58 -07:00
Dane Springmeyer
7bc956e9e8
fix mis-spelling of fwd declare for text_placement_info_dummy
2014-10-08 16:51:33 -07:00
Dane Springmeyer
c4857c640b
clean up string handling in font_set::add_face_name
2014-10-08 16:46:48 -07:00
Dane Springmeyer
1f29ce7d3d
back to using shared_ptr for holding text_placement_info
2014-10-08 16:28:07 -07:00
Kevin Kreiser
2178f1602c
note to self. read coding convention guidelines before actually writing code.
2014-10-08 15:05:38 -04:00
Kevin Kreiser
96bf063b1c
standardize commenting convention. i prefer lower case no space (ie laziness) but that doesnt seem to be the norm.
2014-10-08 14:09:07 -04:00
Kevin Kreiser
a5bedfbae3
fix some whitespace issues. somehow tabs were getting in there
2014-10-08 14:05:25 -04:00
Kevin Kreiser
b7d3a798cd
add ramer douglas peucker to the list of simplify converters. also add tests for the simplify converters but so far only testing peucker. also add a method to the wkt factor for converting geometry container to wkt
2014-10-08 13:47:36 -04:00
Dane Springmeyer
3a7c8ff3fb
make scoped_state noncopyable
2014-10-08 08:00:59 -07:00
artemp
37f6aadcbb
template json::(multi_)geometry_grammar on Geometry and GeometryContainer respectfully
2014-10-08 11:01:28 +01:00
artemp
7f219b4f8b
use phoenix v3 syntax + cleanups
2014-10-08 11:00:25 +01:00
artemp
66252075e9
use <type_traits>
2014-10-08 10:37:35 +01:00
artemp
29c7c5ac3e
throw std::runtime_error on expectation failure
2014-10-07 11:21:44 +01:00
artemp
5990eecec5
better rules names
2014-10-07 11:21:05 +01:00
Dane Springmeyer
c2fe4a14be
drop useless template usage for has_key
2014-10-06 23:21:13 -07:00
Dane Springmeyer
7ce776a79c
fix handling of shield-text-opacity/text-opacity - closes #2507
2014-10-06 21:52:29 -07:00
Dane Springmeyer
1ae43a25ff
text_properties code cleanup - pregame for #2504
2014-10-06 16:59:49 -07:00
jhollinger2
5ca07a26d1
Refactor marker helpers for agg and grid renderer.
2014-10-06 14:03:48 -04:00
Jordan Hollinger
8405400776
Pass recentered transform to markers_placement_finder in vector_markers_rasterizer_dispatch_grid. Update expected grids for test case.
2014-10-06 09:16:16 -04:00
Dane Springmeyer
4aec64871d
add missing header
2014-10-03 20:00:33 -07:00
Dane Springmeyer
e0ba9e9a8c
use common dispatch for symbolizers
2014-10-03 19:07:08 -07:00
Dane Springmeyer
ebf7a61135
fix unsafe return of temporary - closes #2493
2014-10-03 16:39:25 -07:00
Dane Springmeyer
2925a70046
c++ style / delay std::string creation in xml loading
2014-10-03 16:39:25 -07:00
artemp
e8b3083a6a
remove std::function usage in text_properties
2014-10-03 16:00:05 +01:00
Dane Springmeyer
f586f6909f
make vertex_cache noncopyable
2014-10-02 15:41:21 -07:00
Dane Springmeyer
109b45a0ad
c++ style
2014-10-02 15:37:55 -07:00
Jiri Drbalek
5861980f91
add wrap-character support to Layout node of TextSymbolizer
2014-10-02 18:34:37 +00:00
Dane Springmeyer
d4f11bd80e
fix miniz visibility with -fvisibility=hidden
2014-10-02 10:27:17 -07:00
artemp
2bab0512ff
refactor vertex_cache to use unique_ptr's and less copying
2014-10-02 16:36:50 +01:00
Dane Springmeyer
887f5a982b
remove unneeded include
2014-10-01 21:08:36 -07:00
Dane Springmeyer
687a33575c
fast, non-caching check if a font can be opened and read
2014-10-01 20:32:03 -07:00
Dane Springmeyer
ad7e619ba3
remove state from freetype_engine - now fully static
2014-10-01 20:03:03 -07:00
Dane Springmeyer
898d58c4f5
face_set_ptr can be unique rather than shared
2014-10-01 19:01:26 -07:00
Dane Springmeyer
d29add9db3
use face_manager_freetype typedef everywhere
2014-10-01 18:54:11 -07:00
Dane Springmeyer
d96093d3aa
rebase with master
2014-10-01 18:45:28 -07:00
Dane Springmeyer
bef269bc01
Add file_io.hpp
2014-10-01 18:44:19 -07:00
Dane Springmeyer
23cb5dd47d
new util::file class wrapping cstdio + more library usage
2014-10-01 18:31:04 -07:00
Dane Springmeyer
3cdd42bab4
fix include
2014-10-01 18:29:59 -07:00
Dane Springmeyer
e6fe3cd8a6
new font_library raii class
2014-10-01 18:19:26 -07:00
Dane Springmeyer
83533c16c6
fix add_layer move signature - refs #2453
2014-10-01 14:20:58 -07:00
Dane Springmeyer
aae56fa387
avoid style, layer, and fontset copies in load_map - refs #2453
2014-10-01 14:09:09 -07:00
Dane Springmeyer
9b2c14466c
explicit move ctor for feature_type_style
2014-10-01 13:54:44 -07:00
Dane Springmeyer
9ecdc839b5
c++ style
2014-10-01 11:24:41 -07:00
artemp
1d5f1f12f0
remove static std::map<marker_placement_e, boost::function<markers_placement(Locator &locator,Detector &detector,markers_placement_params const& params)>
...
^ it was hurting compile times badly
2014-10-01 11:26:14 +01:00
Dane Springmeyer
98f89ce2fd
Merge pull request #2472 from zerebubuth/warning_2468
...
Fix compiler warning about uninitialised variable.
2014-09-30 19:16:54 -07:00
Dane Springmeyer
4cbc139689
remove boost::format usage
2014-09-30 18:35:07 -07:00
Matt Amos
e759b61b07
Fix compiler warning about uninitialised variable.
2014-10-01 02:12:19 +01:00
Dane Springmeyer
dfc7ba86d3
remove unused typedef
2014-09-30 17:00:52 -07:00
Dane Springmeyer
ad43b37672
Merge branch 'master' of github.com:mapnik/mapnik into localized-font-cache
2014-09-30 14:42:15 -07:00
Dane Springmeyer
09b02ddc17
Merge branch 'master' of github.com:mapnik/mapnik into localized-font-cache
...
Conflicts:
src/build.py
2014-09-30 14:42:01 -07:00
Dane Springmeyer
f34d12094c
new files
2014-09-30 12:50:42 -07:00
Dane Springmeyer
822d3a5bce
break apart symbolizer.hpp + fwd declars + svg output grammar impl
2014-09-30 12:50:08 -07:00
Dane Springmeyer
985ddb3aeb
fix compile of (currently unsed) symbolizer_grammar.hpp
2014-09-30 12:12:58 -07:00
Dane Springmeyer
6be1eb94c2
Revert "ditch boost/function" - refs #2465
...
This reverts commit 24052580b9
.
2014-09-30 10:45:56 -07:00
Dane Springmeyer
1452c5b92f
Merge pull request #2466 from mapnik/reduce-compile-times
...
reduce compile time by minimizing template instantiations
2014-09-30 10:45:39 -07:00
artemp
9c0046fb61
reduce compile time by minimizing template instantiaions
2014-09-30 14:44:02 +01:00
Dane Springmeyer
40a1189357
chip away at complexity of marker_helpers.hpp
2014-09-29 19:32:22 -07:00
Dane Springmeyer
d111dcbed6
iwyu
2014-09-29 18:47:05 -07:00
Dane Springmeyer
dc57849b7d
geometry container typedef fixing
2014-09-29 18:40:57 -07:00
Dane Springmeyer
c654994dbc
remove obsolete text_path.hpp header
2014-09-29 18:23:46 -07:00
Dane Springmeyer
d2a7fda55d
fix visibility of regex_match/replace nodes
2014-09-29 18:12:39 -07:00
Dane Springmeyer
24052580b9
ditch boost/function
2014-09-29 17:51:05 -07:00
Dane Springmeyer
d0b167affc
iwyu shuffle
2014-09-29 17:14:40 -07:00
Dane Springmeyer
9b0d6fc702
iwyu
2014-09-29 17:01:40 -07:00
Dane Springmeyer
3ee609112a
using pimpl to isolate boost::regex headers - refs #2439
2014-09-29 16:48:19 -07:00
Dane Springmeyer
a41978f439
iwyu
2014-09-29 13:50:21 -07:00
Dane Springmeyer
ba689b379e
iwyu
2014-09-29 13:50:14 -07:00
Dane Springmeyer
848370c678
speed up compile / move iomanip to cpp - refs #2439
2014-09-29 13:49:56 -07:00
Dane Springmeyer
a1b98e6238
speed up compile / avoid boost/math - refs #2439
2014-09-29 13:49:22 -07:00
Dane Springmeyer
89f64f6b97
avoid spirit usage in function_call.hpp - refs #2439
2014-09-29 13:12:46 -07:00
artemp
8ff17378a4
make index constexpr
2014-09-29 21:03:34 +01:00
artemp
752d9def3c
remove unused //#include <mapnik/expression_node.hpp>
2014-09-29 21:03:09 +01:00
Dane Springmeyer
688e97e148
move dasharray parser to cpp file - refs #2439
2014-09-29 12:07:15 -07:00
artemp
953f4b700c
remove unused mpl header
2014-09-29 19:29:44 +01:00
artemp
14ba64174b
make arguments noncopyable
2014-09-29 14:07:39 +01:00
artemp
95d13e0b3d
Merge branch 'master' into vertex-converter
2014-09-29 12:34:54 +01:00
artemp
7f81fc9146
cleanup
2014-09-29 12:22:54 +01:00
artemp
e57f66b97d
re-implement vertex_converters using c++11 feature (removes dependency on boost::mpl/boost::fusion)
2014-09-29 11:58:04 +01:00
Dane Springmeyer
7b97e3ace8
unique_ptr for font_face_set
2014-09-28 22:35:08 -07:00
Dane Springmeyer
e21e8b6696
c++ style
2014-09-28 22:20:59 -07:00
Dane Springmeyer
d1adabf7d5
3.x port of localized font caching and then some
2014-09-26 19:54:07 -07:00
Dane Springmeyer
d3d6b09516
fix windows compile - apparently numeric_limits is not viably constexpr - closes #2452
2014-09-26 16:57:16 -07:00
artemp
130e621ace
use c++11 in vertex_converters (work-in-progress)
2014-09-26 12:41:03 +01:00
Dane Springmeyer
385a77fc47
pass map to renderer common (viable after 60a55cb48
, needed for upcoming font changes)
2014-09-25 22:37:43 -07:00
Dane Springmeyer
59eb03a346
simplify parse error in xml
2014-09-25 22:20:44 -07:00
Jiri Drbalek
13f950159f
fix text symbolizer property data binding
2014-09-25 18:26:36 +00:00
Dane Springmeyer
60a55cb48b
noncopyable renderer_common (needed for upcoming font work)
2014-09-24 22:46:19 -07:00
artemp
4be6ca37e9
c++11 - use auto
2014-09-23 18:49:31 +01:00
artemp
7a1cc786fc
position_grammar - re-order rules to allow expectation operators
2014-09-23 15:12:22 +01:00
artemp
2f319e92cc
use error_handler across json parsers
2014-09-23 14:58:10 +01:00
artemp
1382e57ebe
avoid allocating potentially large std::string in error_handler
2014-09-23 14:02:08 +01:00
artemp
f4694d03ff
json error handler : use MAPNIK_LOG_ERROR and better message
2014-09-23 13:22:53 +01:00
Jiri Drbalek
31607cb3f4
add text attribute horizontal-alignment="adjust"
2014-09-23 08:49:27 +00:00
artemp
43c04a72bf
add set_property_from_xml_impl specialization from std::string
...
( parse as an expression first )
2014-09-22 12:04:05 +01:00
artemp
5db32ab2e2
properties_util : template apply static method on value type
2014-09-22 11:23:57 +01:00
artemp
5df668d126
refactor error handler to work with mapnik/debug macros
2014-09-22 10:10:08 +01:00
Dane Springmeyer
9e78712dc4
Merge pull request #2377 from mapycz/3.x-fix-text-on-line-glyph-distance
...
text rendering with line placement on corners in 3.x
2014-09-19 15:12:32 -07:00
Dane Springmeyer
98adcc2d58
fix compile with clang++ after #2416
2014-09-19 14:51:27 -07:00
Dane Springmeyer
7576c8e384
fix return of painted in grid_renderer
2014-09-19 14:34:08 -07:00
Dane Springmeyer
68d90adda6
enable painted for svg_renderer
...
Conflicts:
include/mapnik/svg/output/svg_renderer.hpp
2014-09-19 14:34:07 -07:00
Dane Springmeyer
753cd5d6a0
Merge pull request #2416 from mapycz/add-font-features
...
add font-feature-settings
2014-09-19 14:30:17 -07:00
Jiri Drbalek
2dcfa9e4b7
add font-feature-settings
2014-09-17 19:22:07 +00:00
Jiri Drbalek
e6a32f22cf
fix image painted
2014-09-16 18:54:52 +02:00
artemp
4c296e65e7
use expectation operators parsing attributes #2390
2014-09-12 17:19:11 +01:00
Dane Springmeyer
0cb63c51e8
finish removing ancient reduced size grid rendering pathway - amends f3a824c2cc
2014-09-12 00:56:51 -07:00
artemp
246336d2b1
Merge branch 'min-dist-compatibility' of git://github.com/MapQuest/mapnik into MapQuest-min-dist-compatibility
2014-09-10 16:20:36 +01:00
artemp
f8dc7b023a
text - add ``repeat-wrap-char
`` parameter default:false ( #2333 )
2014-09-10 16:08:41 +01:00
Jordan Hollinger
9b5a9dfe3e
Change text-margin option to margin.
2014-09-10 07:45:41 -04:00
artemp
b441586acf
text-symbolizer: revive 'wrap-char' property which uses special (naive) line_breaker - ref #2333
2014-09-09 17:30:01 +01:00
Dane Springmeyer
479b9e13d0
Merge pull request #2383 from MapQuest/min-dist-compatibility
...
3.x -> 2.3.x compatibility for minimum-distance
2014-09-06 22:50:13 -07:00
Dane Springmeyer
4ac190e8ef
fix handling of marker width/height
2014-09-06 22:44:57 -07:00
Dane Springmeyer
cc07ac2b00
simplify marker width/height handling
2014-09-06 22:13:30 -07:00
Dane Springmeyer
54b2880e53
markers: support offset, geometry-transform, and simplify - closes #2108
2014-09-06 21:27:15 -07:00
Dane Springmeyer
dc8a46017f
fix recursion on windows - closes #2414
2014-09-06 21:07:48 +00:00
Dane Springmeyer
9d363ce7e7
change runtime warning to compile time warning
2014-09-06 12:57:53 -07:00
Dane Springmeyer
1482835c08
fix visibility of image compositing/scaling with -flto - closes #2413
2014-09-06 10:52:00 -07:00
Dane Springmeyer
e26570dfdb
completely ignore layers with status=off - closes #153
2014-09-06 10:08:40 -07:00
artemp
fef3d22154
support avoid-edges in all markers placements
2014-09-05 16:33:20 +01:00
artemp
2727eddf90
implement 'avoid-adges' for markers placements (point placement)
...
(TODO: support all placement types)
2014-09-05 16:19:55 +01:00
artemp
aea77a7155
use generic_json types in topojson grammar
...
refactor value_converters into separate header
usd value_converters in geojson parser
2014-09-05 12:13:58 +01:00