Boost logo

Boost Users :

Subject: Re: [Boost-users] [Geometry] warnings
From: Adam Wulkiewicz (adam.wulkiewicz_at_[hidden])
Date: 2015-05-12 11:54:08


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
> ==============
> Warning1warning C4244: 'initializing' : conversion from 'const
> coordinate_type' to 'const promoted_type', possible loss of
> datac:\releases\lib\boost\boost_1_58_0\include\boost\geometry\strategies\cartesian\side_by_triangle.hpp96
> Warning2warning C4244: 'initializing' : conversion from 'const
> coordinate_type' to 'const promoted_type', possible loss of
> datac:\releases\lib\boost\boost_1_58_0\include\boost\geometry\strategies\cartesian\side_by_triangle.hpp97
> Warning3warning C4244: 'initializing' : conversion from 'const
> coordinate_type' to 'const promoted_type', possible loss of
> datac:\releases\lib\boost\boost_1_58_0\include\boost\geometry\strategies\cartesian\side_by_triangle.hpp98
> Warning4warning C4244: 'initializing' : conversion from 'const
> coordinate_type' to 'const promoted_type', possible loss of
> datac:\releases\lib\boost\boost_1_58_0\include\boost\geometry\strategies\cartesian\side_by_triangle.hpp99
> Warning5warning C4244: 'argument' : conversion from '__int64' to
> 'const double', possible loss of
> datac:\releases\lib\boost\boost_1_58_0\include\boost\geometry\algorithms\detail\recalculate.hpp51
> Warning6warning C4244: 'argument' : conversion from '__int64' to
> 'const double', possible loss of
> datac:\releases\lib\boost\boost_1_58_0\include\boost\geometry\algorithms\detail\recalculate.hpp51
> Warning7warning C4244: 'initializing' : conversion from '__int64' to
> 'const coordinate_type', possible loss of
> datac:\releases\lib\boost\boost_1_58_0\include\boost\geometry\strategies\cartesian\side_by_triangle.hpp88
> Warning8warning C4244: 'initializing' : conversion from '__int64' to
> 'const coordinate_type', possible loss of
> datac:\releases\lib\boost\boost_1_58_0\include\boost\geometry\strategies\cartesian\side_by_triangle.hpp89
> Warning9warning C4244: 'initializing' : conversion from '__int64' to
> 'const coordinate_type', possible loss of
> datac:\releases\lib\boost\boost_1_58_0\include\boost\geometry\strategies\cartesian\side_by_triangle.hpp91
> Warning10warning C4244: 'initializing' : conversion from '__int64' to
> 'const coordinate_type', possible loss of
> datac:\releases\lib\boost\boost_1_58_0\include\boost\geometry\strategies\cartesian\side_by_triangle.hpp92
> Warning11warning C4244: 'initializing' : conversion from '__int64' to
> 'const coordinate_type', possible loss of
> datac:\releases\lib\boost\boost_1_58_0\include\boost\geometry\strategies\cartesian\side_by_triangle.hpp93
> Warning12warning C4244: 'initializing' : conversion from '__int64' to
> 'const coordinate_type', possible loss of
> datac:\releases\lib\boost\boost_1_58_0\include\boost\geometry\strategies\cartesian\side_by_triangle.hpp94
>
>
> 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_at_[hidden]
> http://lists.boost.org/mailman/listinfo.cgi/boost-users



Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net