Boost logo

Boost Users :

Subject: Re: [Boost-users] geomety::within not compiling for model::box
From: Adam Wulkiewicz (adam.wulkiewicz_at_[hidden])
Date: 2014-05-13 13:00:36


Hi Mark,

Mark Meijer wrote:
>
> Is this not supported for box type?
>
> NOT_IMPLEMENTED_FOR_THIS_TYPES
>
>
> Thanks for having a look,
>
> Mark
>
>
>
>
> typedef boost::geometry::model::d2::point_xy<int16_t,
> boost::geometry::cs::cartesian> FrameCoord_t;
> typedef boost::geometry::model::box<FrameCoord_t> FrameBox_t;
>
> FrameBox_t box1;
> FrameBox_t box2;
> boost::geometry::assign_values(box1, 10, 10, 20, 20);
> boost::geometry::assign_values(box2, 0, 0, 100, 100);
>
> bool is_within = boost::geometry::within(box1, box2);
>

Is this the code which is causing troubles?
In the error messages Media::DetectionBox_t is mentioned instead of
FrameBox_t.
The above code compiles with Boost.1.51 (I assume you're using this
version).
Could you prepare some minimal not compiling example? With #includes and
everything.
Btw, which version of VS are you using?

Regards,
Adam

>
>
>
>
> 15>ClCompile:
> 15> Main.cpp
> 15>G:\work\software-external\libs\Boost\boost_1_51_0\boost/geometry/strategies/within.hpp(57):
> error C2664: 'boost::mpl::assertion_failed' : cannot convert parameter
> 1 from 'boost::mpl::failed ************(__thiscall
> boost::geometry::strategy::within::services::default_strategy<TagContained,TagContaining,CastedTagContained,CastedTagContaining,CsTagContained,CsTagContaining,GeometryContained,GeometryContaining>::NOT_IMPLEMENTED_FOR_THIS_TYPES::*
> ***********)(boost::mpl::assert_::types<T1,T2>)' to
> 'boost::mpl::assert<false>::type'
> 15> with
> 15> [
> 15> TagContained=boost::geometry::box_tag,
> 15> TagContaining=boost::geometry::box_tag,
> 15> CastedTagContained=boost::geometry::box_tag,
> 15> CastedTagContaining=boost::geometry::areal_tag,
> 15> CsTagContained=boost::geometry::cartesian_tag,
> 15> CsTagContaining=boost::geometry::cartesian_tag,
> 15> GeometryContained=Media::DetectionBox_t,
> 15> GeometryContaining=Media::DetectionBox_t,
> 15> T1=Media::DetectionBox_t,
> 15> T2=Media::DetectionBox_t
> 15> ]
> 15> No constructor could take the source type, or constructor
> overload resolution was ambiguous
> 15>
> G:\work\software-external\libs\Boost\boost_1_51_0\boost/geometry/algorithms/within.hpp(285)
> : see reference to class template instantiation
> 'boost::geometry::strategy::within::services::default_strategy<TagContained,TagContaining,CastedTagContained,CastedTagContaining,CsTagContained,CsTagContaining,GeometryContained,GeometryContaining>'
> being compiled
> 15> with
> 15> [
> 15> TagContained=boost::geometry::box_tag,
> 15> TagContaining=boost::geometry::box_tag,
> 15> CastedTagContained=boost::geometry::box_tag,
> 15> CastedTagContaining=boost::geometry::areal_tag,
> 15> CsTagContained=boost::geometry::cartesian_tag,
> 15> CsTagContaining=boost::geometry::cartesian_tag,
> 15> GeometryContained=Media::DetectionBox_t,
> 15> GeometryContaining=Media::DetectionBox_t
> 15> ]
> 15> FrameProcessorVideoIq.cpp(357) : see reference to
> function template instantiation 'bool
> boost::geometry::within<Media::DetectionBox_t,Media::DetectionBox_t>(const
> Geometry1 &,const Geometry2 &)' being compiled
> 15> with
> 15> [
> 15> Geometry1=Media::DetectionBox_t,
> 15> Geometry2=Media::DetectionBox_t
> 15> ]
> 15>G:\work\software-external\libs\Boost\boost_1_51_0\boost/geometry/strategies/within.hpp(57):
> error C2866:
> 'boost::geometry::strategy::within::services::default_strategy<TagContained,TagContaining,CastedTagContained,CastedTagContaining,CsTagContained,CsTagContaining,GeometryContained,GeometryContaining>::mpl_assertion_in_line_40'
> : a const static data member of a managed type must be initialized at
> the point of declaration
> 15> with
> 15> [
> 15> TagContained=boost::geometry::box_tag,
> 15> TagContaining=boost::geometry::box_tag,
> 15> CastedTagContained=boost::geometry::box_tag,
> 15> CastedTagContaining=boost::geometry::areal_tag,
> 15> CsTagContained=boost::geometry::cartesian_tag,
> 15> CsTagContaining=boost::geometry::cartesian_tag,
> 15> GeometryContained=Media::DetectionBox_t,
> 15> GeometryContaining=Media::DetectionBox_t
> 15> ]
> 15>G:\work\software-external\libs\Boost\boost_1_51_0\boost/geometry/algorithms/within.hpp(285):
> error C2039: 'type' : is not a member of
> 'boost::geometry::strategy::within::services::default_strategy<TagContained,TagContaining,CastedTagContained,CastedTagContaining,CsTagContained,CsTagContaining,GeometryContained,GeometryContaining>'
> 15> with
> 15> [
> 15> TagContained=boost::geometry::box_tag,
> 15> TagContaining=boost::geometry::box_tag,
> 15> CastedTagContained=boost::geometry::box_tag,
> 15> CastedTagContaining=boost::geometry::areal_tag,
> 15> CsTagContained=boost::geometry::cartesian_tag,
> 15> CsTagContaining=boost::geometry::cartesian_tag,
> 15> GeometryContained=Media::DetectionBox_t,
> 15> GeometryContaining=Media::DetectionBox_t
> 15> ]
> 15>G:\work\software-external\libs\Boost\boost_1_51_0\boost/geometry/algorithms/within.hpp(291):
> error C2955: 'boost::type' : use of class template requires template
> argument list
> 15>
> G:\work\software-external\libs\Boost\boost_1_51_0\boost/type.hpp(14)
> : see declaration of 'boost::type'
> 15>
> 15>Build FAILED.
> 15>
>
>
>
> _______________________________________________
> 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