Hi,

Pb wrote:
Hello,

Using Boost 1.58 on VC9 (MSVC++ 2008) compiling a small program generates warnings in the Geometry headers in Release and Debug modes. Please let me know if this is a Boost.Geometry issue or something I'm not doing correctly.


It's a known Boost.Geometry issue. Internally the coordinates at some point can be rescaled to int64 in some cases and then to the floating point type which trigers the warning.
Thanks for reminding about the issue!

The program source
=================

#include <boost/geometry.hpp>
#include <boost/geometry/geometries/geometries.hpp>
#include <boost/geometry/geometries/point_xy.hpp>
#include <boost/geometry/geometries/polygon.hpp>

typedef boost::geometry::model::d2::point_xy<double> point;
typedef boost::geometry::model::polygon<point,false> polygon;
typedef boost::geometry::model::linestring<point> polyline;

int main()
{
polygon green, blue;
green.outer().push_back(point(-1.0, 1.0));
green.outer().push_back(point(1.0, 1.0));
green.outer().push_back(point(1.0, -1.0));
green.outer().push_back(point(-1.0, -1.0));

blue.outer().push_back(point(0.5, 0.5));
blue.outer().push_back(point(0.5, 1.5));
blue.outer().push_back(point(1.5, 1.5));
blue.outer().push_back(point(1.5, 0.5));

std::vector<polygon> output;
boost::geometry::intersection(blue, green, output);
}


I see one problem though.
Your polygon is defined as Counter-Clockwise and Closed
see http://www.boost.org/doc/libs/1_58_0/libs/geometry/doc/html/geometry/reference/models/model_polygon.html
But the data you pushed back into the polygon define a Clockwise polygon. Plus Closed polygon should have the first and the last point equal.
So you should either pass the correct template parameters into the model::polygon, create the polygons differently or call bg::correct() afterwards.

Regards,
Adam

Warning summary
==============
Warning 1 warning C4244: 'initializing' : conversion from 'const coordinate_type' to 'const promoted_type', possible loss of data c:\releases\lib\boost\boost_1_58_0\include\boost\geometry\strategies\cartesian\side_by_triangle.hpp 96
Warning 2 warning C4244: 'initializing' : conversion from 'const coordinate_type' to 'const promoted_type', possible loss of data c:\releases\lib\boost\boost_1_58_0\include\boost\geometry\strategies\cartesian\side_by_triangle.hpp 97
Warning 3 warning C4244: 'initializing' : conversion from 'const coordinate_type' to 'const promoted_type', possible loss of data c:\releases\lib\boost\boost_1_58_0\include\boost\geometry\strategies\cartesian\side_by_triangle.hpp 98
Warning 4 warning C4244: 'initializing' : conversion from 'const coordinate_type' to 'const promoted_type', possible loss of data c:\releases\lib\boost\boost_1_58_0\include\boost\geometry\strategies\cartesian\side_by_triangle.hpp 99
Warning 5 warning C4244: 'argument' : conversion from '__int64' to 'const double', possible loss of data c:\releases\lib\boost\boost_1_58_0\include\boost\geometry\algorithms\detail\recalculate.hpp 51
Warning 6 warning C4244: 'argument' : conversion from '__int64' to 'const double', possible loss of data c:\releases\lib\boost\boost_1_58_0\include\boost\geometry\algorithms\detail\recalculate.hpp 51
Warning 7 warning C4244: 'initializing' : conversion from '__int64' to 'const coordinate_type', possible loss of data c:\releases\lib\boost\boost_1_58_0\include\boost\geometry\strategies\cartesian\side_by_triangle.hpp 88
Warning 8 warning C4244: 'initializing' : conversion from '__int64' to 'const coordinate_type', possible loss of data c:\releases\lib\boost\boost_1_58_0\include\boost\geometry\strategies\cartesian\side_by_triangle.hpp 89
Warning 9 warning C4244: 'initializing' : conversion from '__int64' to 'const coordinate_type', possible loss of data c:\releases\lib\boost\boost_1_58_0\include\boost\geometry\strategies\cartesian\side_by_triangle.hpp 91
Warning 10 warning C4244: 'initializing' : conversion from '__int64' to 'const coordinate_type', possible loss of data c:\releases\lib\boost\boost_1_58_0\include\boost\geometry\strategies\cartesian\side_by_triangle.hpp 92
Warning 11 warning C4244: 'initializing' : conversion from '__int64' to 'const coordinate_type', possible loss of data c:\releases\lib\boost\boost_1_58_0\include\boost\geometry\strategies\cartesian\side_by_triangle.hpp 93
Warning 12 warning C4244: 'initializing' : conversion from '__int64' to 'const coordinate_type', possible loss of data c:\releases\lib\boost\boost_1_58_0\include\boost\geometry\strategies\cartesian\side_by_triangle.hpp 94


Warnings in more detail
===============

1>------ Build started: Project: boost_geom_warnings, Configuration: Release Win32 ------
1>Compiling...
1>main.cpp
1>c:\releases\lib\boost\boost_1_58_0\include\boost/geometry/strategies/cartesian/side_by_triangle.hpp(96) : warning C4244: 'initializing' : conversion from 'const coordinate_type' to 'const promoted_type', possible loss of data
1>        c:\releases\lib\boost\boost_1_58_0\include\boost/geometry/strategies/cartesian/side_by_triangle.hpp(138) : see reference to function template instantiation 'PromotedType boost::geometry::strategy::side::side_by_triangle<>::side_value<CoordinateType,PromotedType,P1,P2,P,EpsPolicy>(const P1 &,const P2 &,const P &,EpsPolicy &)' being compiled
1>        with
1>        [
1>            PromotedType=promoted_type,
1>            CoordinateType=coordinate_type,
1>            P1=robust_point_type,
1>            P2=robust_point_type,
1>            P=robust_point_type,
1>            EpsPolicy=boost::geometry::strategy::side::side_by_triangle<>::eps_policy<boost::geometry::math::detail::equals_factor_policy<promoted_type>>
1>        ]
1>        c:\releases\lib\boost\boost_1_58_0\include\boost/geometry/strategies/cartesian/side_by_triangle.hpp(234) : see reference to function template instantiation 'PromotedType boost::geometry::strategy::side::side_by_triangle<>::compute_side_value<CoordinateType,PromotedType,AreAllIntegralCoordinates>::apply<P1,P2,P,boost::geometry::strategy::side::side_by_triangle<>::eps_policy<Policy>>(const P1 &,const P2 &,const P &,EpsPolicy &)' being compiled
1>        with
1>        [
1>            PromotedType=promoted_type,
1>            CoordinateType=coordinate_type,
1>            AreAllIntegralCoordinates=true,
1>            P1=robust_point_type,
1>            P2=robust_point_type,
1>            P=robust_point_type,
1>            Policy=boost::geometry::math::detail::equals_factor_policy<promoted_type>,
1>            EpsPolicy=boost::geometry::strategy::side::side_by_triangle<>::eps_policy<boost::geometry::math::detail::equals_factor_policy<promoted_type>>
1>        ]
1>        c:\releases\lib\boost\boost_1_58_0\include\boost/geometry/algorithms/detail/point_is_spike_or_equal.hpp(51) : see reference to function template instantiation 'int boost::geometry::strategy::side::side_by_triangle<>::apply<Point1,Point2,Point3>(const P1 &,const P2 &,const P &)' being compiled
1>        with
1>        [
1>            Point1=robust_point_type,
1>            Point2=robust_point_type,
1>            Point3=robust_point_type,
1>            P1=robust_point_type,
1>            P2=robust_point_type,
1>            P=robust_point_type
1>        ]
1>        c:\releases\lib\boost\boost_1_58_0\include\boost/geometry/algorithms/detail/point_is_spike_or_equal.hpp(117) : see reference to function template instantiation 'bool boost::geometry::detail::point_is_spike_or_equal<robust_point_type,robust_point_type,robust_point_type>(const Point1 &,const Point2 &,const Point3 &)' being compiled
1>        with
1>        [
1>            Point1=robust_point_type,
1>            Point2=robust_point_type,
1>            Point3=robust_point_type
1>        ]
1>        c:\releases\lib\boost\boost_1_58_0\include\boost/geometry/algorithms/detail/overlay/append_no_dups_or_spikes.hpp(95) : see reference to function template instantiation 'bool boost::geometry::detail::point_is_spike_or_equal<Point,boost::geometry::model::d2::point_xy<CoordinateType>,boost::geometry::model::d2::point_xy<CoordinateType>,RobustPolicy>(const Point1 &,const Point2 &,const Point3 &,const RobustPolicy &)' being compiled
1>        with
1>        [
1>            Point=point_type,
1>            CoordinateType=double,
1>            RobustPolicy=rescale_policy_type,
1>            Point1=point_type,
1>            Point2=boost::geometry::model::d2::point_xy<double>,
1>            Point3=boost::geometry::model::d2::point_xy<double>
1>        ]
1>        c:\releases\lib\boost\boost_1_58_0\include\boost/geometry/algorithms/detail/overlay/traverse.hpp(289) : see reference to function template instantiation 'void boost::geometry::detail::overlay::append_no_dups_or_spikes<ring_type,Point,RobustPolicy>(Range &,const Point &,const RobustPolicy &)' being compiled
1>        with
1>        [
1>            Point=point_type,
1>            RobustPolicy=rescale_policy_type,
1>            Range=ring_type
1>        ]
1>        c:\releases\lib\boost\boost_1_58_0\include\boost/geometry/algorithms/detail/overlay/overlay.hpp(232) : see reference to function template instantiation 'void boost::geometry::detail::overlay::traverse<Reverse1,Reverse2,Geometry1,Geometry2>::apply<RobustPolicy,container_type,ring_container_type>(const Geometry1 &,const Geometry2 &,boost::geometry::detail::overlay::operation_type,const RobustPolicy &,Turns &,Rings &)' being compiled
1>        with
1>        [
1>            Reverse1=true,
1>            Reverse2=true,
1>            Geometry1=polygon,
1>            Geometry2=polygon,
1>            RobustPolicy=rescale_policy_type,
1>            Turns=container_type,
1>            Rings=ring_container_type
1>        ]
1>        c:\releases\lib\boost\boost_1_58_0\include\boost/geometry/algorithms/detail/intersection/interface.hpp(57) : see reference to function template instantiation 'OutputIterator boost::geometry::detail::overlay::overlay<Geometry1,Geometry2,Reverse1,Reverse2,ReverseOut,GeometryOut,Direction>::apply<RobustPolicy,std::back_insert_iterator<_Container>,Strategy>(const Geometry1 &,const Geometry2 &,const RobustPolicy &,OutputIterator,const Strategy &)' being compiled
1>        with
1>        [
1>            OutputIterator=std::back_insert_iterator<std::vector<polygon>>,
1>            Geometry1=polygon,
1>            Geometry2=polygon,
1>            Reverse1=true,
1>            Reverse2=true,
1>            ReverseOut=true,
1>            GeometryOut=OneOut,
1>            Direction=overlay_intersection,
1>            RobustPolicy=rescale_policy_type,
1>            _Container=std::vector<polygon>,
1>            Strategy=boost::geometry::strategy_intersection<boost::geometry::cartesian_tag,polygon,polygon,boost::geometry::model::d2::point_xy<double>,rescale_policy_type>
1>        ]
1>        c:\releases\lib\boost\boost_1_58_0\include\boost/geometry/algorithms/detail/intersection/interface.hpp(138) : see reference to function template instantiation 'bool boost::geometry::dispatch::intersection<Geometry1,Geometry2>::apply<rescale_policy_type,GeometryOut,boost::geometry::strategy_intersection<Tag,Geometry1,Geometry2,IntersectionPoint,RobustPolicy>>(const Geometry1 &,const Geometry2 &,const RobustPolicy &,GeometryOut &,const Strategy &)' being compiled
1>        with
1>        [
1>            Geometry1=polygon,
1>            Geometry2=polygon,
1>            GeometryOut=std::vector<polygon>,
1>            Tag=boost::geometry::cartesian_tag,
1>            IntersectionPoint=boost::geometry::model::d2::point_xy<double>,
1>            RobustPolicy=rescale_policy_type,
1>            Strategy=boost::geometry::strategy_intersection<boost::geometry::cartesian_tag,polygon,polygon,boost::geometry::model::d2::point_xy<double>,rescale_policy_type>
1>        ]
1>        c:\releases\lib\boost\boost_1_58_0\include\boost/geometry/algorithms/detail/intersection/interface.hpp(302) : see reference to function template instantiation 'bool boost::geometry::resolve_variant::intersection<Geometry1,Geometry2>::apply<GeometryOut>(const Geometry1 &,const Geometry2 &,GeometryOut &)' being compiled
1>        with
1>        [
1>            Geometry1=polygon,
1>            Geometry2=polygon,
1>            GeometryOut=std::vector<polygon>
1>        ]
1>        .\main.cpp(24) : see reference to function template instantiation 'bool boost::geometry::intersection<polygon,polygon,std::vector<_Ty>>(const Geometry1 &,const Geometry2 &,GeometryOut &)' being compiled
1>        with
1>        [
1>            _Ty=polygon,
1>            Geometry1=polygon,
1>            Geometry2=polygon,
1>            GeometryOut=std::vector<polygon>
1>        ]
1>c:\releases\lib\boost\boost_1_58_0\include\boost/geometry/strategies/cartesian/side_by_triangle.hpp(97) : warning C4244: 'initializing' : conversion from 'const coordinate_type' to 'const promoted_type', possible loss of data
1>c:\releases\lib\boost\boost_1_58_0\include\boost/geometry/strategies/cartesian/side_by_triangle.hpp(98) : warning C4244: 'initializing' : conversion from 'const coordinate_type' to 'const promoted_type', possible loss of data
1>c:\releases\lib\boost\boost_1_58_0\include\boost/geometry/strategies/cartesian/side_by_triangle.hpp(99) : warning C4244: 'initializing' : conversion from 'const coordinate_type' to 'const promoted_type', possible loss of data
1>c:\releases\lib\boost\boost_1_58_0\include\boost/geometry/algorithms/detail/recalculate.hpp(51) : warning C4244: 'argument' : conversion from '__int64' to 'const double', possible loss of data
1>        c:\releases\lib\boost\boost_1_58_0\include\boost/geometry/algorithms/detail/recalculate.hpp(224) : see reference to function template instantiation 'void boost::geometry::detail::recalculate::recalculate_point<Dimension>::apply<Geometry1,Geometry2,Strategy>(Point1 &,const Point2 &,const Strategy &)' being compiled
1>        with
1>        [
1>            Dimension=2,
1>            Geometry1=boost::geometry::model::d2::point_xy<double>,
1>            Geometry2=boost::geometry::model::d2::point_xy<double>,
1>            Strategy=rescale_policy_type,
1>            Point1=boost::geometry::model::d2::point_xy<double>,
1>            Point2=boost::geometry::model::d2::point_xy<double>
1>        ]
1>        c:\releases\lib\boost\boost_1_58_0\include\boost/geometry/algorithms/detail/overlay/handle_tangencies.hpp(109) : see reference to function template instantiation 'void boost::geometry::recalculate<boost::geometry::model::d2::point_xy<CoordinateType>,boost::geometry::model::d2::point_xy<CoordinateType>,const RobustPolicy>(Geometry1 &,const Geometry2 &,const Strategy &)' being compiled
1>        with
1>        [
1>            CoordinateType=double,
1>            RobustPolicy=rescale_policy_type,
1>            Geometry1=boost::geometry::model::d2::point_xy<double>,
1>            Geometry2=boost::geometry::model::d2::point_xy<double>,
1>            Strategy=rescale_policy_type
1>        ]
1>        c:\releases\lib\boost\boost_1_58_0\include\boost/geometry/algorithms/detail/overlay/handle_tangencies.hpp(96) : while compiling class template member function 'void boost::geometry::detail::overlay::sort_in_cluster<TurnPoints,Indexed,Geometry1,Geometry2,RobustPolicy,Reverse1,Reverse2,Strategy>::get_situation_map(const Indexed &,const Indexed &,boost::geometry::model::d2::point_xy<CoordinateType> &,boost::geometry::model::d2::point_xy<CoordinateType> &,boost::geometry::model::d2::point_xy<CoordinateType> &,boost::geometry::model::d2::point_xy<CoordinateType> &,boost::geometry::model::d2::point_xy<CoordinateType> &,boost::geometry::model::d2::point_xy<CoordinateType> &) const'
1>        with
1>        [
1>            TurnPoints=container_type,
1>            Indexed=indexed_turn_operation,
1>            Geometry1=polygon,
1>            Geometry2=polygon,
1>            RobustPolicy=const rescale_policy_type,
1>            Reverse1=true,
1>            Reverse2=true,
1>            Strategy=boost::geometry::strategy::side::side_by_triangle<>,
1>            CoordinateType=double
1>        ]
1>        c:\releases\lib\boost\boost_1_58_0\include\boost/geometry/algorithms/detail/overlay/handle_tangencies.hpp(742) : see reference to class template instantiation 'boost::geometry::detail::overlay::sort_in_cluster<TurnPoints,Indexed,Geometry1,Geometry2,RobustPolicy,Reverse1,Reverse2,Strategy>' being compiled
1>        with
1>        [
1>            TurnPoints=container_type,
1>            Indexed=indexed_turn_operation,
1>            Geometry1=polygon,
1>            Geometry2=polygon,
1>            RobustPolicy=const rescale_policy_type,
1>            Reverse1=true,
1>            Reverse2=true,
1>            Strategy=boost::geometry::strategy::side::side_by_triangle<>
1>        ]
1>        c:\releases\lib\boost\boost_1_58_0\include\boost/geometry/algorithms/detail/overlay/enrich_intersection_points.hpp(290) : see reference to function template instantiation 'void boost::geometry::detail::overlay::handle_cluster<IndexType,true,true,nc_iterator,TurnPoints,Geometry1,Geometry2,const RobustPolicy,Strategy>(Iterator,Iterator,TurnPoints &,boost::geometry::detail::overlay::operation_type,const Geometry1 &,const Geometry2 &,RobustPolicy &,const Strategy &)' being compiled
1>        with
1>        [
1>            IndexType=indexed_turn_operation,
1>            TurnPoints=container_type,
1>            Geometry1=polygon,
1>            Geometry2=polygon,
1>            RobustPolicy=rescale_policy_type,
1>            Strategy=boost::geometry::strategy::side::side_by_triangle<>,
1>            Iterator=nc_iterator
1>        ]
1>        c:\releases\lib\boost\boost_1_58_0\include\boost/geometry/algorithms/detail/overlay/enrich_intersection_points.hpp(533) : see reference to function template instantiation 'void boost::geometry::detail::overlay::enrich_sort<indexed_turn_operation,true,true,_Ty2,TurnPoints,Geometry1,Geometry2,RobustPolicy,Strategy>(Container &,TurnPoints &,boost::geometry::detail::overlay::operation_type,const Geometry1 &,const Geometry2 &,const RobustPolicy &,const Strategy &)' being compiled
1>        with
1>        [
1>            _Ty2=std::vector<indexed_turn_operation>,
1>            TurnPoints=container_type,
1>            Geometry1=polygon,
1>            Geometry2=polygon,
1>            RobustPolicy=rescale_policy_type,
1>            Strategy=boost::geometry::strategy::side::side_by_triangle<>,
1>            Container=std::vector<indexed_turn_operation>
1>        ]
1>        c:\releases\lib\boost\boost_1_58_0\include\boost/geometry/algorithms/detail/overlay/overlay.hpp(215) : see reference to function template instantiation 'void boost::geometry::enrich_intersection_points<true,true,container_type,Geometry1,Geometry2,RobustPolicy,boost::geometry::strategy::side::side_by_triangle<>>(TurnPoints &,boost::geometry::detail::overlay::operation_type,const Geometry1 &,const Geometry2 &,const RobustPolicy &,const Strategy &)' being compiled
1>        with
1>        [
1>            Geometry1=polygon,
1>            Geometry2=polygon,
1>            RobustPolicy=rescale_policy_type,
1>            TurnPoints=container_type,
1>            Strategy=boost::geometry::strategy::side::side_by_triangle<>
1>        ]
1>c:\releases\lib\boost\boost_1_58_0\include\boost/geometry/algorithms/detail/recalculate.hpp(51) : warning C4244: 'argument' : conversion from '__int64' to 'const double', possible loss of data
1>        c:\releases\lib\boost\boost_1_58_0\include\boost/geometry/algorithms/detail/recalculate.hpp(52) : see reference to function template instantiation 'void boost::geometry::detail::recalculate::recalculate_point<Dimension>::apply<Point1,Point2,Strategy>(Point1 &,const Point2 &,const Strategy &)' being compiled
1>        with
1>        [
1>            Dimension=1,
1>            Point1=boost::geometry::model::d2::point_xy<double>,
1>            Point2=boost::geometry::model::d2::point_xy<double>,
1>            Strategy=rescale_policy_type
1>        ]
1>        c:\releases\lib\boost\boost_1_58_0\include\boost/geometry/algorithms/detail/recalculate.hpp(224) : see reference to function template instantiation 'void boost::geometry::detail::recalculate::recalculate_point<Dimension>::apply<Geometry1,Geometry2,Strategy>(Point1 &,const Point2 &,const Strategy &)' being compiled
1>        with
1>        [
1>            Dimension=2,
1>            Geometry1=boost::geometry::model::d2::point_xy<double>,
1>            Geometry2=boost::geometry::model::d2::point_xy<double>,
1>            Strategy=rescale_policy_type,
1>            Point1=boost::geometry::model::d2::point_xy<double>,
1>            Point2=boost::geometry::model::d2::point_xy<double>
1>        ]
1>c:\releases\lib\boost\boost_1_58_0\include\boost/geometry/strategies/cartesian/side_by_triangle.hpp(88) : warning C4244: 'initializing' : conversion from '__int64' to 'const coordinate_type', possible loss of data
1>        c:\releases\lib\boost\boost_1_58_0\include\boost/geometry/strategies/cartesian/side_by_triangle.hpp(138) : see reference to function template instantiation 'PromotedType boost::geometry::strategy::side::side_by_triangle<CalculationType>::side_value<CoordinateType,PromotedType,P1,P2,P,EpsPolicy>(const P1 &,const P2 &,const P &,EpsPolicy &)' being compiled
1>        with
1>        [
1>            PromotedType=promoted_type,
1>            CalculationType=coordinate_type,
1>            CoordinateType=coordinate_type,
1>            P1=robust_point_type,
1>            P2=robust_point_type,
1>            P=robust_point_type,
1>            EpsPolicy=boost::geometry::strategy::side::side_by_triangle<coordinate_type>::eps_policy<boost::geometry::math::detail::equals_factor_policy<promoted_type>>
1>        ]
1>        c:\releases\lib\boost\boost_1_58_0\include\boost/geometry/strategies/cartesian/side_by_triangle.hpp(234) : see reference to function template instantiation 'PromotedType boost::geometry::strategy::side::side_by_triangle<CalculationType>::compute_side_value<CoordinateType,PromotedType,AreAllIntegralCoordinates>::apply<P1,P2,P,boost::geometry::strategy::side::side_by_triangle<CalculationType>::eps_policy<Policy>>(const P1 &,const P2 &,const P &,EpsPolicy &)' being compiled
1>        with
1>        [
1>            PromotedType=promoted_type,
1>            CalculationType=coordinate_type,
1>            CoordinateType=coordinate_type,
1>            AreAllIntegralCoordinates=true,
1>            P1=robust_point_type,
1>            P2=robust_point_type,
1>            P=robust_point_type,
1>            Policy=boost::geometry::math::detail::equals_factor_policy<promoted_type>,
1>            EpsPolicy=boost::geometry::strategy::side::side_by_triangle<coordinate_type>::eps_policy<boost::geometry::math::detail::equals_factor_policy<promoted_type>>
1>        ]
1>        c:\releases\lib\boost\boost_1_58_0\include\boost/geometry/strategies/cartesian/cart_intersect.hpp(140) : see reference to function template instantiation 'int boost::geometry::strategy::side::side_by_triangle<CalculationType>::apply<RobustPoint,RobustPoint,RobustPoint>(const P1 &,const P2 &,const P &)' being compiled
1>        with
1>        [
1>            CalculationType=coordinate_type,
1>            RobustPoint=robust_point_type,
1>            P1=robust_point_type,
1>            P2=robust_point_type,
1>            P=robust_point_type
1>        ]
1>        c:\releases\lib\boost\boost_1_58_0\include\boost/geometry/strategies/cartesian/cart_intersect.hpp(107) : see reference to function template instantiation 'boost::tuples::tuple<T0,T1> boost::geometry::strategy::intersection::relate_cartesian_segments<Policy,CalculationType>::apply<Segment1,Segment2,RobustPolicy,robust_point_type>(const Segment1 &,const Segment2 &,const RobustPolicy &,const RobustPoint &,const RobustPoint &,const RobustPoint &,const RobustPoint &)' being compiled
1>        with
1>        [
1>            T0=boost::geometry::segment_intersection_points<boost::geometry::model::d2::point_xy<double>,boost::geometry::segment_ratio_type<boost::geometry::model::d2::point_xy<double>,rescale_policy_type>::type>,
1>            T1=boost::geometry::policies::relate::segments_direction::return_type,
1>            Policy=boost::geometry::policies::relate::segments_tupled<boost::geometry::policies::relate::segments_intersection_points<boost::geometry::segment_intersection_points<boost::geometry::model::d2::point_xy<double>,boost::geometry::segment_ratio_type<boost::geometry::model::d2::point_xy<double>,rescale_policy_type>::type>>,boost::geometry::policies::relate::segments_direction>,
1>            CalculationType=void,
1>            Segment1=boost::geometry::model::referring_segment<const boost::geometry::model::d2::point_xy<double>>,
1>            Segment2=boost::geometry::model::referring_segment<const boost::geometry::model::d2::point_xy<double>>,
1>            RobustPolicy=rescale_policy_type,
1>            RobustPoint=robust_point_type
1>        ]
1>        c:\releases\lib\boost\boost_1_58_0\include\boost/geometry/algorithms/detail/overlay/get_turn_info_helpers.hpp(220) : see reference to function template instantiation 'boost::tuples::tuple<T0,T1> boost::geometry::strategy::intersection::relate_cartesian_segments<Policy,CalculationType>::apply<boost::geometry::model::referring_segment<ConstOrNonConstPoint>,boost::geometry::model::referring_segment<ConstOrNonConstPoint>,RobustPolicy>(const Segment1 &,const Segment2 &,const RobustPolicy &)' being compiled
1>        with
1>        [
1>            T0=boost::geometry::segment_intersection_points<boost::geometry::model::d2::point_xy<double>,boost::geometry::segment_ratio_type<boost::geometry::model::d2::point_xy<double>,rescale_policy_type>::type>,
1>            T1=boost::geometry::policies::relate::segments_direction::return_type,
1>            Policy=boost::geometry::policies::relate::segments_tupled<boost::geometry::policies::relate::segments_intersection_points<boost::geometry::segment_intersection_points<boost::geometry::model::d2::point_xy<double>,boost::geometry::segment_ratio_type<boost::geometry::model::d2::point_xy<double>,rescale_policy_type>::type>>,boost::geometry::policies::relate::segments_direction>,
1>            CalculationType=void,
1>            ConstOrNonConstPoint=const boost::geometry::model::d2::point_xy<double>,
1>            RobustPolicy=rescale_policy_type,
1>            Segment1=boost::geometry::model::referring_segment<const boost::geometry::model::d2::point_xy<double>>,
1>            Segment2=boost::geometry::model::referring_segment<const boost::geometry::model::d2::point_xy<double>>
1>        ]
1>        c:\releases\lib\boost\boost_1_58_0\include\boost/geometry/algorithms/detail/overlay/get_turn_info_helpers.hpp(214) : while compiling class template member function 'boost::geometry::detail::overlay::intersection_info<Point1,Point2,TurnPoint,RobustPolicy>::intersection_info(const Point1 &,const Point1 &,const Point1 &,const Point2 &,const Point2 &,const Point2 &,const RobustPolicy &)'
1>        with
1>        [
1>            Point1=boost::geometry::model::d2::point_xy<double>,
1>            Point2=boost::geometry::model::d2::point_xy<double>,
1>            TurnPoint=boost::geometry::model::d2::point_xy<double>,
1>            RobustPolicy=rescale_policy_type
1>        ]
1>        c:\releases\lib\boost\boost_1_58_0\include\boost/geometry/algorithms/detail/overlay/get_turn_info.hpp(926) : see reference to class template instantiation 'boost::geometry::detail::overlay::intersection_info<Point1,Point2,TurnPoint,RobustPolicy>' being compiled
1>        with
1>        [
1>            Point1=boost::geometry::model::d2::point_xy<double>,
1>            Point2=boost::geometry::model::d2::point_xy<double>,
1>            TurnPoint=boost::geometry::model::d2::point_xy<double>,
1>            RobustPolicy=rescale_policy_type
1>        ]
1>        c:\releases\lib\boost\boost_1_58_0\include\boost/geometry/algorithms/detail/overlay/get_turns.hpp(297) : see reference to function template instantiation 'OutputIterator boost::geometry::detail::overlay::get_turn_info<AssignPolicy>::apply<boost::geometry::model::d2::point_xy<CoordinateType>,boost::geometry::model::d2::point_xy<CoordinateType>,turn_info,RobustPolicy,std::back_insert_iterator<_Container>>(const Point1 &,const Point1 &,const Point1 &,const Point2 &,const Point2 &,const Point2 &,bool,bool,bool,bool,const TurnInfo &,const RobustPolicy &,OutputIterator)' being compiled
1>        with
1>        [
1>            OutputIterator=std::back_insert_iterator<container_type>,
1>            AssignPolicy=boost::geometry::detail::overlay::assign_null_policy,
1>            CoordinateType=double,
1>            RobustPolicy=rescale_policy_type,
1>            _Container=container_type,
1>            Point1=boost::geometry::model::d2::point_xy<double>,
1>            Point2=boost::geometry::model::d2::point_xy<double>,
1>            TurnInfo=turn_info
1>        ]
1>        c:\releases\lib\boost\boost_1_58_0\include\boost/geometry/algorithms/detail/overlay/get_turns.hpp(426) : see reference to function template instantiation 'bool boost::geometry::detail::get_turns::get_turns_in_sections<Geometry1,Geometry2,Reverse1,Reverse2,Section1,Section2,TurnPolicy>::apply<Turns,RobustPolicy,InterruptPolicy>(int,const Geometry1 &,const Section1 &,int,const Geometry2 &,const Section2 &,bool,const RobustPolicy &,Turns &,InterruptPolicy &)' being compiled
1>        with
1>        [
1>            Geometry1=polygon,
1>            Geometry2=polygon,
1>            Reverse1=true,
1>            Reverse2=true,
1>            Section1=boost::geometry::section<box_type,2>,
1>            Section2=boost::geometry::section<box_type,2>,
1>            TurnPolicy=TurnPolicy,
1>            Turns=container_type,
1>            RobustPolicy=rescale_policy_type,
1>            InterruptPolicy=boost::geometry::detail::get_turns::no_interrupt_policy
1>        ]
1>        c:\releases\lib\boost\boost_1_58_0\include\boost/geometry/algorithms/detail/partition.hpp(641) : see reference to function template instantiation 'bool boost::geometry::detail::get_turns::section_visitor<Geometry1,Geometry2,Reverse1,Reverse2,Turns,TurnPolicy,RobustPolicy,InterruptPolicy>::apply<boost::geometry::section<Box,DimensionCount>>(const Section &,const Section &)' being compiled
1>        with
1>        [
1>            Geometry1=polygon,
1>            Geometry2=polygon,
1>            Reverse1=true,
1>            Reverse2=true,
1>            Turns=container_type,
1>            TurnPolicy=TurnPolicy,
1>            RobustPolicy=rescale_policy_type,
1>            InterruptPolicy=boost::geometry::detail::get_turns::no_interrupt_policy,
1>            Box=box_type,
1>            DimensionCount=2,
1>            Section=boost::geometry::section<box_type,2>
1>        ]
1>        c:\releases\lib\boost\boost_1_58_0\include\boost/geometry/algorithms/detail/overlay/get_turns.hpp(485) : see reference to function template instantiation 'void boost::geometry::partition<Box,ExpandPolicy1,OverlapsPolicy1>::apply<sections_type,sections_type,boost::geometry::detail::get_turns::section_visitor<Geometry1,Geometry2,Reverse1,Reverse2,Turns,TurnPolicy,RobustPolicy,InterruptPolicy>>(const InputCollection1 &,const InputCollection2 &,VisitPolicy &,size_t,VisitBoxPolicy)' being compiled
1>        with
1>        [
1>            Box=box_type,
1>            ExpandPolicy1=boost::geometry::detail::section::get_section_box,
1>            OverlapsPolicy1=boost::geometry::detail::section::overlaps_section_box,
1>            Geometry1=polygon,
1>            Geometry2=polygon,
1>            Reverse1=true,
1>            Reverse2=true,
1>            Turns=container_type,
1>            TurnPolicy=TurnPolicy,
1>            RobustPolicy=rescale_policy_type,
1>            InterruptPolicy=boost::geometry::detail::get_turns::no_interrupt_policy,
1>            InputCollection1=sections_type,
1>            InputCollection2=sections_type,
1>            VisitPolicy=boost::geometry::detail::get_turns::section_visitor<polygon,polygon,true,true,container_type,TurnPolicy,rescale_policy_type,boost::geometry::detail::get_turns::no_interrupt_policy>,
1>            VisitBoxPolicy=boost::geometry::detail::partition::visit_no_policy
1>        ]
1>        c:\releases\lib\boost\boost_1_58_0\include\boost/geometry/algorithms/detail/overlay/get_turns.hpp(1002) : see reference to function template instantiation 'void boost::geometry::detail::get_turns::get_turns_generic<Geometry1,Geometry2,Reverse1,Reverse2,TurnPolicy>::apply<RobustPolicy,Turns,InterruptPolicy>(int,const Geometry1 &,int,const Geometry2 &,const RobustPolicy &,Turns &,InterruptPolicy &)' being compiled
1>        with
1>        [
1>            Geometry1=polygon,
1>            Geometry2=polygon,
1>            Reverse1=true,
1>            Reverse2=true,
1>            TurnPolicy=TurnPolicy,
1>            RobustPolicy=rescale_policy_type,
1>            Turns=container_type,
1>            InterruptPolicy=boost::geometry::detail::get_turns::no_interrupt_policy
1>        ]
1>        c:\releases\lib\boost\boost_1_58_0\include\boost/geometry/algorithms/detail/overlay/overlay.hpp(203) : see reference to function template instantiation 'void boost::geometry::get_turns<true,true,boost::geometry::detail::overlay::assign_null_policy,Geometry1,Geometry2,RobustPolicy,container_type,boost::geometry::detail::get_turns::no_interrupt_policy>(const Geometry1 &,const Geometry2 &,const RobustPolicy &,Turns &,InterruptPolicy &)' being compiled
1>        with
1>        [
1>            Geometry1=polygon,
1>            Geometry2=polygon,
1>            RobustPolicy=rescale_policy_type,
1>            Turns=container_type,
1>            InterruptPolicy=boost::geometry::detail::get_turns::no_interrupt_policy
1>        ]
1>c:\releases\lib\boost\boost_1_58_0\include\boost/geometry/strategies/cartesian/side_by_triangle.hpp(89) : warning C4244: 'initializing' : conversion from '__int64' to 'const coordinate_type', possible loss of data
1>c:\releases\lib\boost\boost_1_58_0\include\boost/geometry/strategies/cartesian/side_by_triangle.hpp(91) : warning C4244: 'initializing' : conversion from '__int64' to 'const coordinate_type', possible loss of data
1>c:\releases\lib\boost\boost_1_58_0\include\boost/geometry/strategies/cartesian/side_by_triangle.hpp(92) : warning C4244: 'initializing' : conversion from '__int64' to 'const coordinate_type', possible loss of data
1>c:\releases\lib\boost\boost_1_58_0\include\boost/geometry/strategies/cartesian/side_by_triangle.hpp(93) : warning C4244: 'initializing' : conversion from '__int64' to 'const coordinate_type', possible loss of data
1>c:\releases\lib\boost\boost_1_58_0\include\boost/geometry/strategies/cartesian/side_by_triangle.hpp(94) : warning C4244: 'initializing' : conversion from '__int64' to 'const coordinate_type', possible loss of data
1>Build log was saved at "file://c:\cpp\boost_geom_warnings\Release\BuildLog.htm"
1>boost_geom_warnings - 0 error(s), 12 warning(s)
========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========



_______________________________________________
Boost-users mailing list
Boost-users@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/boost-users