Boost logo

Boost Users :

Subject: [Boost-users] geomety::within not compiling for model::box
From: mark meijer (mtlmeijer_at_[hidden])
Date: 2014-05-12 14:04:07


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);

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 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