diff options
Diffstat (limited to 'boost/geometry/io/svg/svg_mapper.hpp')
-rw-r--r-- | boost/geometry/io/svg/svg_mapper.hpp | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/boost/geometry/io/svg/svg_mapper.hpp b/boost/geometry/io/svg/svg_mapper.hpp index b53fef2ceb..c8e63d5ab7 100644 --- a/boost/geometry/io/svg/svg_mapper.hpp +++ b/boost/geometry/io/svg/svg_mapper.hpp @@ -1,6 +1,11 @@ // Boost.Geometry (aka GGL, Generic Geometry Library) -// Copyright (c) 2009-2012 Barend Gehrels, Amsterdam, the Netherlands. +// Copyright (c) 2009-2015 Barend Gehrels, Amsterdam, the Netherlands. + +// This file was modified by Oracle on 2015. +// Modifications copyright (c) 2015, Oracle and/or its affiliates. + +// Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle // Parts of Boost.Geometry are redesigned from Geodan's Geographic Library // (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. @@ -16,6 +21,7 @@ #include <vector> +#include <boost/config.hpp> #include <boost/mpl/assert.hpp> #include <boost/noncopyable.hpp> #include <boost/scoped_ptr.hpp> @@ -31,15 +37,11 @@ #include <boost/geometry/algorithms/envelope.hpp> #include <boost/geometry/algorithms/expand.hpp> +#include <boost/geometry/algorithms/is_empty.hpp> #include <boost/geometry/algorithms/transform.hpp> -#include <boost/geometry/algorithms/num_points.hpp> -#include <boost/geometry/strategies/transform.hpp> #include <boost/geometry/strategies/transform/map_transformer.hpp> #include <boost/geometry/views/segment_view.hpp> -#include <boost/geometry/multi/algorithms/envelope.hpp> -#include <boost/geometry/multi/algorithms/num_points.hpp> - #include <boost/geometry/io/svg/write_svg.hpp> // Helper geometries (all points are transformed to integer-points) @@ -97,6 +99,11 @@ struct svg_map<box_tag, Box> Box const& box, TransformStrategy const& strategy) { model::box<detail::svg::svg_point_type> ibox; + + // Fix bug in gcc compiler warning for possible uninitialation +#if defined(BOOST_GCC) + geometry::assign_zero(ibox); +#endif geometry::transform(box, ibox, strategy); stream << geometry::svg(ibox, style, size) << std::endl; @@ -307,7 +314,7 @@ public : template <typename Geometry> void add(Geometry const& geometry) { - if (num_points(geometry) > 0) + if (! geometry::is_empty(geometry)) { expand(m_bounding_box, return_envelope |