Boost logo

Geometry :

Subject: [geometry] Compiler warnings in geometry 1.50.0 (3) geometry\algorithms\detail\overlay\calculate_distance_policy.hpp(49): error C4244: '=' : conversion from 'double' to '__int64', possible loss of data
From: Volker Schöch (vschoech_at_[hidden])
Date: 2012-07-06 09:36:38


Hi all,

 

I'm in the process of switching our project from 1.48 to 1.50. There were some warnings in geometry 1.48 that seem to have been resolved. Thank you! On the other hand, there are new warnings in geometry 1.50. IMO, these warnings should be eliminated (for a couple of reasons, one being that they clutter the output window and obscure new/unknown warnings that may be important).

 

I am compiling with MS VC++ 10 for 32 bit. My polygon type is oriented counter-clockwise and not closed, my point type is based on int.

 

Regards

   Volker

 

 

1>c:\program files (x86)\microsoft visual studio 10.0\vc\boost_1_50_0\boost\geometry\algorithms\detail\overlay\calculate_distance_policy.hpp(49): error C4244: '=' : conversion from 'double' to '__int64', possible loss of data

1> c:\program files (x86)\microsoft visual studio 10.0\vc\boost_1_50_0\boost\geometry\algorithms\detail\overlay\get_turn_info.hpp(929) : see reference to function template instantiation 'void boost::geometry::detail::overlay::calculate_distance_policy::apply<TurnInfo,Point1,Point2,T,boost::geometry::policies::relate::direction_type>(Info &,const Point1 &,const Point2 &,const IntersectionInfo &,const DirInfo &)' being compiled

1> with

1> [

1> TurnInfo=boost::geometry::detail::overlay::traversal_turn_info<point_type>,

1> Point1=_TPoint<int>,

1> Point2=_TPoint<int>,

1> T=boost::geometry::segment_intersection_points<_TPoint<int>>,

1> Info=boost::geometry::detail::overlay::traversal_turn_info<point_type>,

1> IntersectionInfo=boost::geometry::segment_intersection_points<_TPoint<int>>,

1> DirInfo=boost::geometry::policies::relate::direction_type

1> ]

1> c:\program files (x86)\microsoft visual studio 10.0\vc\boost_1_50_0\boost\geometry\algorithms\detail\overlay\get_turns.hpp(613) : see reference to function template instantiation 'OutputIterator boost::geometry::detail::overlay::get_turn_info<Point1,Point2,TurnInfo,AssignPolicy>::apply<std::back_insert_iterator<_Container>>(const Point1 &,const Point1 &,const Point1 &,const Point2 &,const Point2 &,const Point2 &,const TurnInfo &,OutputIterator)' being compiled

1> with

1> [

1> OutputIterator=std::back_insert_iterator<container_type>,

1> Point1=_TPoint<int>,

1> Point2=_TPoint<int>,

1> TurnInfo=boost::geometry::detail::overlay::traversal_turn_info<point_type>,

1> AssignPolicy=boost::geometry::detail::overlay::calculate_distance_policy,

1> _Container=container_type

1> ]

1> c:\program files (x86)\microsoft visual studio 10.0\vc\boost_1_50_0\boost\geometry\algorithms\detail\overlay\get_turns.hpp(601) : while compiling class template member function 'void boost::geometry::detail::get_turns::get_turns_cs<Range,Box,ReverseRange,ReverseBox,Turns,TurnPolicy,InterruptPolicy>::get_turns_with_box(const boost::geometry::segment_identifier &,int,const _TPoint<T> &,const _TPoint<T> &,const _TPoint<T> &,const _TPoint<T> &,const _TPoint<T> &,const _TPoint<T> &,const _TPoint<T> &,Turns &,InterruptPolicy &)'

1> with

1> [

1> Range=ring_type,

1> Box=_TRect<int>,

1> ReverseRange=true,

1> ReverseBox=true,

1> Turns=container_type,

1> TurnPolicy=TurnPolicy,

1> InterruptPolicy=boost::geometry::detail::get_turns::no_interrupt_policy,

1> T=int

1> ]

1> c:\program files (x86)\microsoft visual studio 10.0\vc\boost_1_50_0\boost\geometry\algorithms\detail\overlay\get_turns.hpp(664) : see reference to class template instantiation 'boost::geometry::detail::get_turns::get_turns_cs<Range,Box,ReverseRange,ReverseBox,Turns,TurnPolicy,InterruptPolicy>' being compiled

1> with

1> [

1> Range=ring_type,

1> Box=_TRect<int>,

1> ReverseRange=true,

1> ReverseBox=true,

1> Turns=container_type,

1> TurnPolicy=TurnPolicy,

1> InterruptPolicy=boost::geometry::detail::get_turns::no_interrupt_policy

1> ]

1> c:\program files (x86)\microsoft visual studio 10.0\vc\boost_1_50_0\boost\geometry\algorithms\detail\overlay\get_turns.hpp(652) : while compiling class template member function 'void boost::geometry::detail::get_turns::get_turns_polygon_cs<Polygon,Box,Reverse,ReverseBox,Turns,TurnPolicy,InterruptPolicy>::apply(int,const Polygon &,int,const Box &,Turns &,InterruptPolicy &,int)'

1> with

1> [

1> Polygon=boost::geometry::model::polygon<_TPoint<int>,false,false>,

1> Box=_TRect<int>,

1> Reverse=true,

1> ReverseBox=true,

1> Turns=container_type,

1> TurnPolicy=TurnPolicy,

1> InterruptPolicy=boost::geometry::detail::get_turns::no_interrupt_policy

1> ]

1> c:\program files (x86)\microsoft visual studio 10.0\vc\boost_1_50_0\boost\geometry\multi\algorithms\detail\overlay\get_turns.hpp(63) : see reference to class template instantiation 'boost::geometry::detail::get_turns::get_turns_polygon_cs<Polygon,Box,Reverse,ReverseBox,Turns,TurnPolicy,InterruptPolicy>' being compiled

1> with

1> [

1> Polygon=boost::geometry::model::polygon<_TPoint<int>,false,false>,

1> Box=_TRect<int>,

1> Reverse=true,

1> ReverseBox=true,

1> Turns=container_type,

1> TurnPolicy=TurnPolicy,

1> InterruptPolicy=boost::geometry::detail::get_turns::no_interrupt_policy

1> ]

1> c:\program files (x86)\microsoft visual studio 10.0\vc\boost_1_50_0\boost\geometry\multi\algorithms\detail\overlay\get_turns.hpp(46) : while compiling class template member function 'void boost::geometry::detail::get_turns::get_turns_multi_polygon_cs<Multi,Box,Reverse,ReverseBox,Turns,TurnPolicy,InterruptPolicy>::apply(int,const Multi &,int,const Box &,Turns &,InterruptPolicy &)'

1> with

1> [

1> Multi=_TPolygon<int>,

1> Box=_TRect<int>,

1> Reverse=true,

1> ReverseBox=true,

1> Turns=container_type,

1> TurnPolicy=TurnPolicy,

1> InterruptPolicy=boost::geometry::detail::get_turns::no_interrupt_policy

1> ]

1> c:\program files (x86)\microsoft visual studio 10.0\vc\boost_1_50_0\boost\geometry\multi\algorithms\detail\overlay\get_turns.hpp(102) : see reference to class template instantiation 'boost::geometry::detail::get_turns::get_turns_multi_polygon_cs<Multi,Box,Reverse,ReverseBox,Turns,TurnPolicy,InterruptPolicy>' being compiled

1> with

1> [

1> Multi=_TPolygon<int>,

1> Box=_TRect<int>,

1> Reverse=true,

1> ReverseBox=true,

1> Turns=container_type,

1> TurnPolicy=TurnPolicy,

1> InterruptPolicy=boost::geometry::detail::get_turns::no_interrupt_policy

1> ]

1> c:\program files (x86)\microsoft visual studio 10.0\vc\boost_1_50_0\boost\geometry\algorithms\detail\overlay\get_turns.hpp(864) : see reference to class template instantiation 'boost::geometry::dispatch::get_turns<GeometryTag1,GeometryTag2,Geometry1,Geometry2,Reverse1,Reverse2,Turns,TurnPolicy,InterruptPolicy>' being compiled

1> with

1> [

1> GeometryTag1=boost::geometry::multi_polygon_tag,

1> GeometryTag2=boost::geometry::box_tag,

1> Geometry1=_TPolygon<int>,

1> Geometry2=_TRect<int>,

1> Reverse1=true,

1> Reverse2=true,

1> Turns=container_type,

1> TurnPolicy=TurnPolicy,

1> InterruptPolicy=boost::geometry::detail::get_turns::no_interrupt_policy

1> ]

1> c:\program files (x86)\microsoft visual studio 10.0\vc\boost_1_50_0\boost\geometry\algorithms\detail\overlay\overlay.hpp(186) : see reference to function template instantiation 'void boost::geometry::get_turns<true,true,boost::geometry::detail::overlay::calculate_distance_policy,Geometry1,Geometry2,container_type,boost::geometry::detail::get_turns::no_interrupt_policy>(const Geometry1 &,const Geometry2 &,Turns &,InterruptPolicy &)' being compiled

1> with

1> [

1> Geometry1=_TPolygon<int>,

1> Geometry2=_TRect<int>,

1> Turns=container_type,

1> InterruptPolicy=boost::geometry::detail::get_turns::no_interrupt_policy

1> ]

1> c:\program files (x86)\microsoft visual studio 10.0\vc\boost_1_50_0\boost\geometry\algorithms\detail\overlay\overlay.hpp(147) : while compiling class template member function 'std::back_insert_iterator<_Container> boost::geometry::detail::overlay::overlay<Geometry1,Geometry2,Reverse1,Reverse2,ReverseOut,OutputIterator,GeometryOut,Direction,Strategy>::apply(const Geometry1 &,const Geometry2 &,OutputIterator,const Strategy &)'

1> with

1> [

1> _Container=_TPolygon<int>,

1> Geometry1=_TPolygon<int>,

1> Geometry2=_TRect<int>,

1> Reverse1=true,

1> Reverse2=true,

1> ReverseOut=true,

1> OutputIterator=std::back_insert_iterator<_TPolygon<int>>,

1> GeometryOut=geometry_out,

1> Direction=overlay_difference,

1> Strategy=boost::geometry::strategy_intersection<boost::geometry::cartesian_tag,_TPolygon<int>,_TRect<int>,_TPoint<int>>

1> ]

1> c:\program files (x86)\microsoft visual studio 10.0\vc\boost_1_50_0\boost\geometry\algorithms\detail\overlay\intersection_insert.hpp(292) : see reference to class template instantiation 'boost::geometry::detail::overlay::overlay<Geometry1,Geometry2,Reverse1,Reverse2,ReverseOut,OutputIterator,GeometryOut,Direction,Strategy>' being compiled

1> with

1> [

1> Geometry1=_TPolygon<int>,

1> Geometry2=_TRect<int>,

1> Reverse1=true,

1> Reverse2=true,

1> ReverseOut=true,

1> OutputIterator=std::back_insert_iterator<_TPolygon<int>>,

1> GeometryOut=geometry_out,

1> Direction=overlay_difference,

1> Strategy=boost::geometry::strategy_intersection<boost::geometry::cartesian_tag,_TPolygon<int>,_TRect<int>,_TPoint<int>>

1> ]

1> c:\program files (x86)\microsoft visual studio 10.0\vc\boost_1_50_0\boost\geometry\algorithms\difference.hpp(72) : see reference to class template instantiation 'boost::geometry::dispatch::intersection_insert<TagIn1,TagIn2,TagOut,Areal1,Areal2,ArealOut,Geometry1,Geometry2,Reverse1,Reverse2,ReverseOut,OutputIterator,GeometryOut,OverlayType,Strategy>' being compiled

1> with

1> [

1> TagIn1=boost::geometry::multi_polygon_tag,

1> TagIn2=boost::geometry::box_tag,

1> TagOut=boost::geometry::polygon_tag,

1> Areal1=true,

1> Areal2=true,

1> ArealOut=true,

1> Geometry1=_TPolygon<int>,

1> Geometry2=_TRect<int>,

1> Reverse1=true,

1> Reverse2=true,

1> ReverseOut=true,

1> OutputIterator=std::back_insert_iterator<_TPolygon<int>>,

1> GeometryOut=geometry_out,

1> OverlayType=overlay_difference,

1> Strategy=boost::geometry::strategy_intersection<boost::geometry::cartesian_tag,_TPolygon<int>,_TRect<int>,_TPoint<int>>

1> ]

1> c:\program files (x86)\microsoft visual studio 10.0\vc\boost_1_50_0\boost\geometry\algorithms\difference.hpp(114) : see reference to function template instantiation 'OutputIterator boost::geometry::detail::difference::difference_insert<GeometryOut,Geometry1,Geometry2,OutputIterator,boost::geometry::strategy_intersection<Tag,Geometry1,Geometry2,IntersectionPoint>>(const Geometry1 &,const Geometry2 &,OutputIterator,const Strategy &)' being compiled

1> with

1> [

1> OutputIterator=std::back_insert_iterator<_TPolygon<int>>,

1> GeometryOut=geometry_out,

1> Geometry1=_TPolygon<int>,

1> Geometry2=_TRect<int>,

1> Tag=boost::geometry::cartesian_tag,

1> IntersectionPoint=_TPoint<int>,

1> Strategy=boost::geometry::strategy_intersection<boost::geometry::cartesian_tag,_TPolygon<int>,_TRect<int>,_TPoint<int>>

1> ]

1> c:\program files (x86)\microsoft visual studio 10.0\vc\boost_1_50_0\boost\geometry\algorithms\difference.hpp(153) : see reference to function template instantiation 'OutputIterator boost::geometry::detail::difference::difference_insert<geometry_out,Geometry1,Geometry2,std::back_insert_iterator<_Container>>(const Geometry1 &,const Geometry2 &,OutputIterator)' being compiled

1> with

1> [

1> OutputIterator=std::back_insert_iterator<_TPolygon<int>>,

1> Geometry1=_TPolygon<int>,

1> Geometry2=_TRect<int>,

1> _Container=_TPolygon<int>

1> ]

 

 

--
Volker Schöch | vschoech_at_[hidden]
Senior Software Engineer
think-cell Software GmbH | Chausseestr. 8/E | 10115 Berlin | Germany
http://www.think-cell.com | phone +49 30 666473-10 | US phone +1 800 891 8091
Amtsgericht Berlin-Charlottenburg, HRB 85229 | European Union VAT Id DE813474306
Directors: Dr. Markus Hannebauer, Dr. Arno Schoedl


Geometry list run by mateusz at loskot.net