Hello Adam,
Thank you for your reply. We registered our legacy geometries with
boost::geometry. Here is my point registration details.
//Point 2D registration wtih Boost
namespace boost
{
namespace geometry
{
namespace traits
{
template<typename P> struct tag<QCS::Point2D<P>> { typedef point_tag
type; };
template<typename P> struct dimension<QCS::Point2D<P>> :
boost::mpl::int_<2> {};
template<typename P> struct coordinate_type<QCS::Point2D<P>> { typedef
P type; };
template<typename P> struct coordinate_system<QCS::Point2D<P>> {
typedef cs::cartesian type; };
template<typename P> struct access<QCS::Point2D<P>, 0>
{
static inline P get(QCS::Point2D<P> const& p)
{ return p.m_x; }
static inline void set(QCS::Point2D<P>& p, P const& value)
{ p.SetX(value); }
};
template<typename P> struct access<QCS::Point2D<P>, 1>
{
static inline P get(QCS::Point2D<P> const& p)
{ return p.m_y; }
static inline void set(QCS::Point2D<P>& p, P const& value)
{ p.SetY(value); }
};
}
}
}
I am getting the following errors in 1.56 but it was working fine in 1.55
>q:\libraries\geometrylib\point.h(170): error C2976:
'boost::geometry::traits::tag' : too few template arguments
1> t:\boost\boost\geometry\core\tag.hpp(42) : see declaration of
'boost::geometry::traits::tag'