Commit graph

10202 commits

Author SHA1 Message Date
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
5e9009a86b fix windows compile 2014-12-18 21:26:31 -08:00
Dane Springmeyer
b235910895 fix conditional dlopen support 2014-12-18 21:13:47 -08:00
Dane Springmeyer
b0f94bff44 Merge pull request #2608 from mapnik/image_data_any
Image data any
2014-12-18 20:21:29 -08:00
Dane Springmeyer
0d42906dc1 Merge branch 'master' of github.com:mapnik/mapnik into image_data_any
Conflicts:
	tests/visual_tests/images/dots-500-100-1.0-agg-reference.png
	tests/visual_tests/images/dots-500-100-2.0-agg-reference.png
	tests/visual_tests/images/marker-svg-opacity-500-100-1.0-agg-reference.png
	tests/visual_tests/images/marker-svg-opacity-500-100-2.0-agg-reference.png
2014-12-18 20:16:16 -08:00
artemp
ce291a553b I don't see enough performance gain to justify this - reverting for now
Revert "shape.input - sqeeze a bit more performance by reinterpret casting bytes array to point {double,double}"

This reverts commit 2f8426a019.
2014-12-18 18:44:04 +01:00
artemp
2f8426a019 shape.input - sqeeze a bit more performance by reinterpret casting bytes array to point {double,double}
avoiding one std::vector memory allocation - NOTE: this works because coordinates are stored in Double: Signed 64-bit IEEE double-precision floating point number (8 bytes) with little endian byte order - ref #2151
2014-12-18 11:57:52 +01:00
artemp
34d96f3ef2 shape.input - avoid expensive hit_test and instead use relatively cheap orientation test to distinguish
between inner and outter rings (Polygon/NultiPolygon) -- ref #2151  https://github.com/mapbox/unpacker/issues/324

```txt
A polygon consists of one or more rings. A ring is a connected sequence of four or more
points that form a closed, non-self-intersecting loop. A polygon may contain multiple
outer rings. The order of vertices or orientation for a ring indicates which side of the ring
is the interior of the polygon. The neighborhood to the right of an observer walking along
the ring in vertex order is the neighborhood inside the polygon. Vertices of rings defining
holes in polygons are in a counterclockwise direction. Vertices for a single, ringed
polygon are, therefore, always in clockwise order. The rings of a polygon are referred to
as its parts.
```
2014-12-18 11:28:28 +01:00
artemp
4f93b7c879 shape.input - avoid expensive hit_test and instead use relatively cheap orientation test to distinguish
between inner and outter rings (Polygon/NultiPolygon) -- ref #2151  https://github.com/mapbox/unpacker/issues/324

```txt
A polygon consists of one or more rings. A ring is a connected sequence of four or more
points that form a closed, non-self-intersecting loop. A polygon may contain multiple
outer rings. The order of vertices or orientation for a ring indicates which side of the ring
is the interior of the polygon. The neighborhood to the right of an observer walking along
the ring in vertex order is the neighborhood inside the polygon. Vertices of rings defining
holes in polygons are in a counterclockwise direction. Vertices for a single, ringed
polygon are, therefore, always in clockwise order. The rings of a polygon are referred to
as its parts.
```
2014-12-18 11:23:38 +01:00
Dane Springmeyer
5b176d2224 raster-colorizer test for both gdal and raster plugins 2014-12-17 12:33:24 -08:00
Dane Springmeyer
efd83f9142 update expected visual tests 2014-12-17 12:26:32 -08: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
dfe0be57f0 update warp expected image 2014-12-17 12:06:07 -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
fe58aabe55 markers: support restyling svg stroke and fill without limit - closes #2609 - refs mapnik/mapnik-support#27 2014-12-17 12:01:04 -08:00
Dane Springmeyer
6d4b4494bf update visual test images for #2590 2014-12-17 11:55:22 -08:00
Dane Springmeyer
7066053d4b drop use of xml entities in text-font-features test - fixes #2590 2014-12-17 11:55:22 -08:00
Dane Springmeyer
f8bedf4f65 support building without dlopen support
Conflicts:
	SConstruct
2014-12-17 11:55:22 -08:00
Dane Springmeyer
0c8c55031a add deque to array alloc benchmark 2014-12-17 11:55:22 -08:00
artemp
12eb56d96a better names + unbuffered io + use image_data_xxx for allocating strip
e#	2x2.png
2014-12-17 18:34:47 +01: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
137bd0ba3b format 2014-12-17 14:54:31 +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
6130b7f40d set nodata for single band raster (got missed in spaghetti code) 2014-12-17 14:23:42 +01:00
artemp
a59d634ffc nodata value can be floating point 2014-12-17 14:22:30 +01:00
artemp
5adbd85439 explicit std::move 2014-12-17 11:05:13 +01:00
Dane Springmeyer
569a539518 new dot symbolizer for fast rendering of points - refs #1651 mapbox/mapnik-vector-tile#62 #2612 2014-12-16 21:45:56 -08:00
Dane Springmeyer
1dfdfb3b22 consistent std::move in image data move ctor 2014-12-16 21:14:06 -08:00
Dane Springmeyer
1b428f87fa Merge pull request #2610 from kernelsanders/master
change config_error to std::runtime_error in scale_hsla struct
2014-12-16 20:04:51 -08:00
Joel Brown
cfd48fe3cd change config_error to std::runtime_error in scale_hsla struct 2014-12-16 17:50:23 -08:00
Dane Springmeyer
f0a696264c markers: support restyling svg stroke and fill without limit - closes #2609 - refs mapnik/mapnik-support#27 2014-12-16 18:34:53 -05:00
Dane Springmeyer
ba60af48af update visual test images for #2590 2014-12-16 16:39:21 -05:00
Dane Springmeyer
ee7ed11446 drop use of xml entities in text-font-features test - fixes #2590 2014-12-16 16:36:25 -05:00
Dane Springmeyer
bedcd41b67 support building without dlopen support
Conflicts:
	SConstruct
2014-12-16 16:05:42 -05:00
Dane Springmeyer
381eab1f3d add deque to array alloc benchmark 2014-12-16 13:51:12 -05: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
c3e7b12238 fix nasty typo + refactor more 2014-12-16 12:02:40 +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
ecf9a686a3 c++11 - use constexpr 2014-12-16 10:17:05 +01:00
artemp
979d706c26 move image_scaling traits into separate header to enable code sharing 2014-12-16 10:13:40 +01:00
artemp
3276bed965 Merge branch 'master' into image_data_any 2014-12-16 09:33:28 +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
Dane Springmeyer
cdd817d772 benchmarks: refactor to allow early exit if tests do not validate 2014-12-12 11:59:45 -05:00