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