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
5adbd85439
explicit std::move
2014-12-17 11:05:13 +01: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
6fc8002dec
use new image_reader API
2014-12-03 10:58:05 +01:00
artemp
bf9c99e3d3
initial image_data_any implentation (work-in-progress)
2014-11-26 12:22:36 +01:00
artemp
333965b588
update copyright year
2014-11-20 15:25:50 +01:00
Dane Springmeyer
87192bfcb7
silence more boost warnings
2014-10-21 16:57:44 -07:00
Dane Springmeyer
4cbc139689
remove boost::format usage
2014-09-30 18:35:07 -07:00
artemp
ecfaec1027
rename ctrans.hpp to view_transform.hpp
2014-08-28 10:29:04 +01:00
artemp
de22d5900c
rename CoordTransform to view_transform to better reflect its purpose and be consistent
2014-08-28 10:17:15 +01:00
Dane Springmeyer
e9ca9c8790
symbolizer-expressions replayed against latest master
2013-11-27 22:50:15 -08:00
artemp
7adee4ab36
c++11 : remove boost::make_shared includes
2013-10-17 15:09:56 +01:00
artemp
b315eb2167
+ use std::shared_ptr and std::make_shared
2013-09-20 14:01:27 +01:00
artemp
4f4e2b001e
Merge branch 'master' into c++11
...
Conflicts:
SConstruct
benchmark/run.cpp
bindings/python/mapnik_datasource.cpp
bindings/python/mapnik_feature.cpp
bindings/python/python_optional.hpp
include/mapnik/css_color_grammar.hpp
include/mapnik/expression_grammar.hpp
include/mapnik/feature.hpp
include/mapnik/feature_style_processor_impl.hpp
include/mapnik/image_filter_types.hpp
include/mapnik/image_util.hpp
include/mapnik/json/geometry_generator_grammar.hpp
include/mapnik/json/geometry_grammar.hpp
include/mapnik/processed_text.hpp
include/mapnik/tiff_io.hpp
include/mapnik/util/geometry_svg_generator.hpp
include/mapnik/util/geometry_wkt_generator.hpp
include/mapnik/utils.hpp
include/mapnik/webp_io.hpp
include/mapnik/wkt/wkt_grammar.hpp
plugins/input/shape/shape_datasource.cpp
plugins/input/shape/shapefile.hpp
src/expression_grammar.cpp
src/expression_string.cpp
src/image_util.cpp
src/json/feature_collection_parser.cpp
src/json/feature_parser.cpp
src/miniz.c
src/symbolizer_helpers.cpp
src/tiff_reader.cpp
src/webp_reader.cpp
tests/cpp_tests/geometry_converters_test.cpp
tests/cpp_tests/image_io_test.cpp
tests/cpp_tests/map_request_test.cpp
tests/python_tests/image_test.py
tests/visual_tests/test.py
2013-08-30 09:46:09 +01:00
Dane Springmeyer
18ab68f03f
iwyu
2013-06-21 12:00:48 -07:00
artemp
c73e48fa58
+ use std::unique_ptr instead of std::auto_ptr (deprecated!)
2013-04-19 09:50:50 +01:00
Dane Springmeyer
e16567fecb
fixup std:: prefixing of cmath functions - closes #1694
2013-01-17 13:53:48 -08:00
Dane Springmeyer
4bd5484cdb
fixup includes and value type and params usage across plugins
2013-01-04 09:23:06 -08:00
Dane Springmeyer
4bc6b0c800
avoid copy of image data by using new, more efficient mapnik::raster constructor - closes #1516
2012-10-03 15:53:41 -07:00
artemp
3ffe8ec21c
+ add premultiplied_alpha flag to mapnik::raster
2012-09-28 16:43:05 +01:00
Dane Springmeyer
6df998cf39
fixup various plugin includes
2012-07-25 09:29:21 -07:00
Dane Springmeyer
241bf28da0
'include what you use' in plugins to set up for future forward declarations in mapnik/feature.hpp and mapnik/datasource.hpp
2012-07-24 19:21:55 -07:00
kunitoki
74342e3083
- no need to #ifdef all the time: the compiler should optimize out the log calls when no MAPNIK_LOG is defined
...
- initially got rid of those ifdefs in plugins only
2012-04-09 12:05:49 +02:00
kunitoki
8c58a9aa73
- improved again the logging facilities
...
- aligned the plugins to using the new methods with severity
- implemented per object severity, with fallback to global (with global functions to set them programmatically)
- initial check in of logger python bindings (todo)
2012-04-09 03:00:51 +02:00
kunitoki
1f351e0e09
implement new debug system
2012-04-08 02:20:56 +02:00
kunitoki
7dbe1279bf
- reorder constructor initialization list to avoid warnings in raster datasource
2012-03-28 22:01:45 +02:00
Dane Springmeyer
9556584b0c
create context in init list
2012-03-16 13:43:48 -07:00
Dane Springmeyer
77c58e487d
whitespace fixes
2012-02-01 17:37:35 -08:00
Artem Pavlenko
7601095e24
move context's typedef inside to avoid poluting global namespace
2012-01-19 17:36:27 -05:00
Artem Pavlenko
d207580feb
don't forget to init context_ptr
2012-01-16 13:18:00 -05:00
Artem Pavlenko
87e4f22966
+ update raster plugin to work with new feature_factory
2012-01-16 09:51:31 -05:00
Dane Springmeyer
ce9e44b5f2
plugin code formatting based on emacs format in utils/format_source_files
2011-11-13 19:37:50 -08:00
Dane Springmeyer
69806f2728
format error messages
2011-10-31 13:43:56 -04:00
kunitoki
76cadccd6b
- modified coding style in raster plugin
2011-10-23 16:31:25 +02:00
Matt Amos
d29f609052
Added a 'multi' tiled raster plugin reader for virtual images
...
already present as tiles on disk.
2011-10-12 01:08:03 +01:00
Dane Springmeyer
49fd1f93d1
use boost::make_shared across plugins to avoid explicit new and ensure fast and exception safe allocation
2011-05-16 23:41:34 +00:00
Dane Springmeyer
c6980f2fd8
make sure datasource feature ids start at 1, like shapefile and sqlite plugins
2011-04-29 20:00:45 +00:00
Artem Pavlenko
7191d56a16
+ throw image_reader_exception if we can't read tiff file
...
+ catch image_reader_exceptions in raster.input
+ re-throw in bind()
2011-04-11 21:17:10 +00:00
Lucio Asnaghi
406b3b92fa
+ raster plugin logging cosmetics
2010-11-18 23:15:59 +00:00
Dane Springmeyer
b540dab73b
apply slighly modified (env->box2d) mapnik-trunk.mr.raster-position2.diff from mar_rud to close #475
2010-03-03 03:23:53 +00:00
Artem Pavlenko
22d8fbe7f0
+ consistent raster bbox calc :
...
x0 = int(minx+0.5)
y0 = int(miny+0.5)
x1 = int(maxx+0.5)
y1 = int(maxy+0.5)
width = x1 - x0
height = y1 - y0
2010-02-03 12:19:57 +00:00
Artem Pavlenko
47dc1e197b
+ merge mapnik2 to trunk
2009-12-16 20:02:06 +00:00
Dane Springmeyer
56f0c33465
format raster plugin to only print output in debug mode
2009-10-12 03:58:11 +00:00
Artem Pavlenko
47c3bc515d
+ add 'tiled' policy to avoid loading very large rasters into memory
...
if (width*height > 1024*1024) : load raster in 1024x1024 chunks
else : use single_file_policy
TODO: Expose chunk size as raster_datasource parameter
2009-04-10 12:05:31 +00:00
Dane Springmeyer
544cbb249a
Apply patch from Marcin to handle smooth transitions between raster layers for both gdal and raster plugin - closed #295
2009-04-07 23:06:51 +00:00
Artem Pavlenko
4529e83562
fixed parameters order in image reader
2008-01-07 10:20:05 +00:00
Artem Pavlenko
46902bf488
increment feature id
2007-04-30 20:08:49 +00:00
Artem Pavlenko
e0d243dcec
1.Added support for building on Darwin (Xcode 2.4.1, gcc4.0.1).
...
Mainly taming gcc4.0.1 (anonymous enum bug)
2.Input plug-ins now have .input extension on all platforms
2007-03-16 10:11:37 +00:00
Artem Pavlenko
4d4e9f5d91
Tiling patch from Toby allows for a selected pixel region within an extent
...
to be rendered. This allows for a large extent (larger than can be
rendered into a single image in memory) to be rendered out as tiles.
Since the full extent is used for the placement calculations text
crossing tile boundaries will be consistent.
This method is a little inefficient when a large number of labels need
placed, an improved method would be to cache these placements between
tiles, but the attached is a start.
c++ users should simple call the render method with a start X and Y
coordinate specified,
for (int TileX = 0;TileX < 5;++TileX)
{
for(int TileY = 0;TileY < 5; ++TileY)
{
int TileSize=250;
int StartX = TileX*TileSize;
int StartY = TileY*TileSize;
Image32 buf(TileSize,TileSize);
agg_renderer<Image32> ren(m,buf,StartX,StartY);
ren.apply();
char name[324];
sprintf(name,"tile_%d_%d.png",TileX,TileY);
ImageUtils::save_to_file(name,"png",buf);
}
}
python users should call render_tile_to_file
for y in range(tile_count_y):
for x in range(tile_count_x):
if not os.path.exists("tiles/%d/%d/" % (map_scale, y)):
os.makedirs("tiles/%d/%d/" % (map_scale, y))
render_tile_to_file(m, x*tile_size, y*tile_size, tile_size, tile_size,
'tiles/%d/%d/%d.png' % (map_scale,y,x), 'png')
2006-12-01 09:37:37 +00:00
Artem Pavlenko
ebdd0f6030
disable clog printing in release mode. Pass -DMAPNIK_DEBUG to enable.
2006-11-19 17:13:33 +00:00