[Boost-bugs] [Boost C++ Libraries] #12410: boost::geometry::correct on a polygon in a geographic cs doesn't work

Subject: [Boost-bugs] [Boost C++ Libraries] #12410: boost::geometry::correct on a polygon in a geographic cs doesn't work
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2016-08-24 14:13:05


#12410: boost::geometry::correct on a polygon in a geographic cs doesn't work
------------------------------+---------------------------
 Reporter: andydev2k2k@… | Owner: barendgehrels
     Type: Bugs | Status: new
Milestone: To Be Determined | Component: geometry
  Version: Boost 1.61.0 | Severity: Showstopper
 Keywords: |
------------------------------+---------------------------
 It doesn't compile. See this simple example (and yes, I know the polygon
 is empty. That doesn't matter)


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

 int main()
 {
         typedef boost::geometry::model::polygon
                 <
                 boost::geometry::model::point<double, 2,
 boost::geometry::cs::geographic<boost::geometry::degree>>
> polygon_t;

         polygon_t poly;

         boost::geometry::correct( poly );

         return 0;
 }
 }}}

 Compiler output :

 1>------ Build started: Project: boostscratch10, Configuration: Debug
 Win32 ------
 1> main.cpp
 1>d:\boost_1_61_0\boost_1_61_0\boost\geometry\strategies\area.hpp(41):
 error C2664: 'int
 boost::mpl::assertion_failed<false>(boost::mpl::assert<false>::type)':
 cannot convert argument 1 from 'boost::mpl::failed ************(__thiscall
 boost::geometry::strategy::area::services::default_strategy<boost::geometry::geographic_tag,boost::geometry::model::point<double,2,boost::geometry::cs::geographic<boost::geometry::degree>>>::NOT_IMPLEMENTED_FOR_THIS_POINT_TYPE::*
 ***********)(boost::mpl::assert_::types<PointOfSegment,boost::mpl::na,boost::mpl::na,boost::mpl::na>)'
 to 'boost::mpl::assert<false>::type'
 1> with
 1> [
 1>
 PointOfSegment=boost::geometry::model::point<double,2,boost::geometry::cs::geographic<boost::geometry::degree>>
 1> ]
 1> d:\boost_1_61_0\boost_1_61_0\boost\geometry\strategies\area.hpp(41):
 note: No constructor could take the source type, or constructor overload
 resolution was ambiguous
 1>
 d:\boost_1_61_0\boost_1_61_0\boost\geometry\strategies\default_area_result.hpp(42):
 note: see reference to class template instantiation
 'boost::geometry::strategy::area::services::default_strategy<boost::geometry::geographic_tag,boost::geometry::model::point<double,2,boost::geometry::cs::geographic<boost::geometry::degree>>>'
 being compiled
 1>
 d:\boost_1_61_0\boost_1_61_0\boost\geometry\algorithms\correct.hpp(177):
 note: see reference to class template instantiation
 'boost::geometry::default_area_result<Polygon>' being compiled
 1> with
 1> [
 1> Polygon=polygon_t
 1> ]
 1>
 d:\boost_1_61_0\boost_1_61_0\boost\geometry\algorithms\correct.hpp(247):
 note: see reference to class template instantiation
 'boost::geometry::detail::correct::correct_polygon<Polygon>' being
 compiled
 1> with
 1> [
 1> Polygon=polygon_t
 1> ]
 1>
 d:\boost_1_61_0\boost_1_61_0\boost\geometry\algorithms\correct.hpp(287):
 note: see reference to class template instantiation
 'boost::geometry::dispatch::correct<Geometry,boost::geometry::polygon_tag>'
 being compiled
 1> with
 1> [
 1> Geometry=polygon_t
 1> ]
 1>
 d:\boost_1_61_0\boost_1_61_0\boost\geometry\algorithms\correct.hpp(285):
 note: while compiling class template member function 'void
 boost::geometry::resolve_variant::correct<Geometry>::apply(Geometry &)'
 1> with
 1> [
 1> Geometry=polygon_t
 1> ]
 1>
 d:\boost_1_61_0\boost_1_61_0\boost\geometry\algorithms\correct.hpp(328):
 note: see reference to function template instantiation 'void
 boost::geometry::resolve_variant::correct<Geometry>::apply(Geometry &)'
 being compiled
 1> with
 1> [
 1> Geometry=polygon_t
 1> ]
 1>
 d:\boost_1_61_0\boost_1_61_0\boost\geometry\algorithms\correct.hpp(328):
 note: see reference to class template instantiation
 'boost::geometry::resolve_variant::correct<Geometry>' being compiled
 1> with
 1> [
 1> Geometry=polygon_t
 1> ]
 1> c:\users\sesa408586\documents\visual studio
 2015\projects\boostscratch10\main.cpp(14): note: see reference to function
 template instantiation 'void boost::geometry::correct<polygon_t>(Geometry
 &)' being compiled
 1> with
 1> [
 1> Geometry=polygon_t
 1> ]
 1>d:\boost_1_61_0\boost_1_61_0\boost\geometry\strategies\default_area_result.hpp(42):
 error C2039: 'type': is not a member of
 'boost::geometry::strategy::area::services::default_strategy<boost::geometry::geographic_tag,boost::geometry::model::point<double,2,boost::geometry::cs::geographic<boost::geometry::degree>>>'
 1>
 d:\boost_1_61_0\boost_1_61_0\boost\geometry\strategies\default_area_result.hpp(38):
 note: see declaration of
 'boost::geometry::strategy::area::services::default_strategy<boost::geometry::geographic_tag,boost::geometry::model::point<double,2,boost::geometry::cs::geographic<boost::geometry::degree>>>'
 1>d:\boost_1_61_0\boost_1_61_0\boost\geometry\strategies\default_area_result.hpp(44):
 error C2955: 'boost::type': use of class template requires template
 argument list
 1> d:\boost_1_61_0\boost_1_61_0\boost\type.hpp(14): note: see declaration
 of 'boost::type'
 1>d:\boost_1_61_0\boost_1_61_0\boost\geometry\strategies\default_area_result.hpp(44):
 error C2039: 'return_type': is not a member of 'boost::type'
 1> d:\boost_1_61_0\boost_1_61_0\boost\type.hpp(14): note: see declaration
 of 'boost::type'
 1>d:\boost_1_61_0\boost_1_61_0\boost\geometry\strategies\default_area_result.hpp(44):
 error C3646: 'type': unknown override specifier
 1>d:\boost_1_61_0\boost_1_61_0\boost\geometry\strategies\default_area_result.hpp(44):
 error C4430: missing type specifier - int assumed. Note: C++ does not
 support default-int
 1>d:\boost_1_61_0\boost_1_61_0\boost\geometry\algorithms\correct.hpp(177):
 error C2039: 'type': is not a member of
 'boost::geometry::default_area_result<Polygon>'
 1> with
 1> [
 1> Polygon=polygon_t
 1> ]
 1>
 d:\boost_1_61_0\boost_1_61_0\boost\geometry\algorithms\correct.hpp(177):
 note: see declaration of 'boost::geometry::default_area_result<Polygon>'
 1> with
 1> [
 1> Polygon=polygon_t
 1> ]
 ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped
 ==========

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/12410>
Boost C++ Libraries <http://www.boost.org/>
Boost provides free peer-reviewed portable C++ source libraries.

This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:20 UTC