Boost logo

Geometry :

Subject: [ggl] Polygon difference
From: V Ranganathan (vrang3)
Date: 2011-01-10 17:41:31


Pardon me if I should have submitted this as a new post. I've added to this
post because of a problem I'm having using boost-geometry-0.8.0. I obtained
the newer version from
http://svn.boost.org/svn/boost/sandbox-tags/geometry/boost-geometry-0.8.0/

Is it mandatory that this version be used with certain new boost releases?
I'm currently using boost_143_0. When I use boost-geometry-0.7.0 with
boost_1_43_0, the following code does not result in a run-time error:
...
strategy::transform::translate_transformer<Point2D, Point2D>
translate(-offset.x, -offset.y);
transform(aPoly, aPolyTrans, translate);
...

When I switch to using boost-geometry-0.8 instead of version 0.7.0, I get a
debug assertion failure (I'm using MS Visual Studio 2008).

Debug assertion failed.
File: E:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\vector
Line: 251

Expresssion: vector iterators incompatible.

The call sequence when failure occurs is:

boost::geometry::transform<Polygon2D,Polygon2D,boost::geometry::strategy::transform::translate_transformer<Point2D,Point2D,2,2>
>()
boost::geometry::detail::transform::transform_polygon<Polygon2D,Polygon2D,boost::geometry::strategy::transform::translate_transformer<Point2D,Point2D,2,2>
>::apply()
std::_Vector_const_iterator<std::deque<Point2D,std::allocator<Point2D>
>,std::allocator<std::deque<Point2D,std::allocator<Point2D> > >
>::operator!=()
std::_Vector_const_iterator<std::deque<Point2D,std::allocator<Point2D>
>,std::allocator<std::deque<Point2D,std::allocator<Point2D> > >
>::operator==()
std::_Vector_const_iterator<std::deque<Point2D,std::allocator<Point2D>
>,std::allocator<std::deque<Point2D,std::allocator<Point2D> > > >::_Compat()
std::_Debug_message()

Vishnu
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osgeo.org/pipermail/ggl/attachments/20110110/ba3ace13/attachment.html


Geometry list run by mateusz at loskot.net