Boost logo

Boost Users :

Subject: Re: [Boost-users] [Geometry] warnings
From: PB (newbarker_at_[hidden])
Date: 2015-05-12 14:34:44


Hi Adam,

Thanks for the prompt reply. It would be nice if a future version didn't
emit those warnings.

A colleague of mine who isn't on the mailing list asked me about the
warnings, so gave me a snippet of code from which I came up with a minimal
compilable test case, but I removed the calls to correct() to get it to
compile :)

Regards,

Pete

On 12 May 2015 at 16:54, Adam Wulkiewicz <adam.wulkiewicz_at_[hidden]> wrote:

> 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 listBoost-users_at_[hidden]http://lists.boost.org/mailman/listinfo.cgi/boost-users
>
>
>
>
>
> _______________________________________________
> 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