Boost logo

Geometry :

Subject: [ggl] Re: intersection of two vectors of polygons
From: Vishnu (vrang3)
Date: 2011-07-19 18:42:49


>>I can repeat what you did, but (if possible and convenient) you might mail
the code such that I can have a closer look.

Hi Barend,

I have some code that compiles with boost-geometry-0.9 but not with the
version of boost-geometry in boost_1_47_0. I need to resolve this before I
create a sample to send to you to illustrate the issue with intersection
times. The code that compiles with boost-geometry-0.9 but not with the
version in boost_1_47_0 is posted here:

http://codepad.org/3PAB1IvF

What changes need to be made to get this to work with the newer
boost-geometry in boost_1_47_0?

The code compiles using both VS2008 and gcc, provided I use
boost-geometry-0.9. If I use the version of boost-geometry from
boost_1_47_0, I get these compiler errors with gcc (which, by the way, your
own code posted in http://codepad.org/MBRPDhwj also produces):

labeled_intersections.cpp:15: error: expected template-name before ?<? token
labeled_intersections.cpp:15: error: expected `{' before ?<? token
labeled_intersections.cpp:15: error: expected unqualified-id before ?<?
token

and these with VS2008

1>------ Build started: Project: small_sample, Configuration: Debug Win32
------
1>Compiling...
1>labeled_intersections.cpp
1>d:\users\vishnu\boost-geometry-0.9.0\example\labeled_intersections.cpp(15)
: error C2039: 'polygon' : is not a member of 'boost::geometry::model'
1>d:\users\vishnu\boost-geometry-0.9.0\example\labeled_intersections.cpp(15)
: error C2504: 'polygon' : base class undefined
1>d:\users\vishnu\boost-geometry-0.9.0\example\labeled_intersections.cpp(15)
: error C2143: syntax error : missing ',' before '<'
1>d:\users\vishnu\boost-geometry-0.9.0\example\labeled_intersections.cpp(35)
: error C2039: 'polygon' : is not a member of 'boost::geometry::model'
1>d:\users\vishnu\boost-geometry-0.9.0\example\labeled_intersections.cpp(35)
: error C2065: 'polygon' : undeclared identifier
1>d:\users\vishnu\boost-geometry-0.9.0\example\labeled_intersections.cpp(35)
: error C2275: 'boost::geometry::model::d2::point_xy<CoordinateType>' :
illegal use of this type as an expression
1> with
1> [
1> CoordinateType=double
1> ]
1>d:\users\vishnu\boost-geometry-0.9.0\example\labeled_intersections.cpp(35)
: warning C4091: 'typedef ' : ignored on left of
'boost::geometry::ring_type' when no variable is declared
1>d:\users\vishnu\boost-geometry-0.9.0\example\labeled_intersections.cpp(35)
: error C2143: syntax error : missing ';' before '>'
1>d:\users\vishnu\boost-geometry-0.9.0\example\labeled_intersections.cpp(35)
: error C2059: syntax error : '>'
1>d:\users\vishnu\boost-geometry-0.9.0\example\labeled_intersections.cpp(35)
: error C2039: 'type' : is not a member of '`global namespace''
1>d:\users\vishnu\boost-geometry-0.9.0\example\labeled_intersections.cpp(40)
: error C2143: syntax error : missing ';' before 'const'
1>d:\users\vishnu\boost-geometry-0.9.0\example\labeled_intersections.cpp(40)
: error C4430: missing type specifier - int assumed. Note: C++ does not
support default-int
1>d:\users\vishnu\boost-geometry-0.9.0\example\labeled_intersections.cpp(40)
: error C4430: missing type specifier - int assumed. Note: C++ does not
support default-int
1>d:\users\vishnu\boost-geometry-0.9.0\example\labeled_intersections.cpp(42)
: error C2143: syntax error : missing ';' before '&'
1>d:\users\vishnu\boost-geometry-0.9.0\example\labeled_intersections.cpp(42)
: error C4430: missing type specifier - int assumed. Note: C++ does not
support default-int
1>d:\users\vishnu\boost-geometry-0.9.0\example\labeled_intersections.cpp(42)
: error C4430: missing type specifier - int assumed. Note: C++ does not
support default-int
1>d:\users\vishnu\boost-geometry-0.9.0\example\labeled_intersections.cpp(46)
: error C2065: 'ring_of_polygon_with_id' : undeclared identifier
1>d:\users\vishnu\boost-geometry-0.9.0\example\labeled_intersections.cpp(51)
: error C2065: 'ring_of_polygon_with_id' : undeclared identifier
1>d:\users\vishnu\boost-geometry-0.9.0\example\labeled_intersections.cpp(57)
: error C2143: syntax error : missing ';' before '&'
1>d:\users\vishnu\boost-geometry-0.9.0\example\labeled_intersections.cpp(57)
: error C4430: missing type specifier - int assumed. Note: C++ does not
support default-int
1>d:\users\vishnu\boost-geometry-0.9.0\example\labeled_intersections.cpp(57)
: error C4430: missing type specifier - int assumed. Note: C++ does not
support default-int
1>d:\users\vishnu\boost-geometry-0.9.0\example\labeled_intersections.cpp(58)
: error C4430: missing type specifier - int assumed. Note: C++ does not
support default-int
1>d:\users\vishnu\boost-geometry-0.9.0\example\labeled_intersections.cpp(58)
: warning C4183: 'get': missing return type; assumed to be a member function
returning 'int'
1>d:\users\vishnu\boost-geometry-0.9.0\example\labeled_intersections.cpp(62)
: error C2143: syntax error : missing ';' before 'const'
1>d:\users\vishnu\boost-geometry-0.9.0\example\labeled_intersections.cpp(62)
: error C4430: missing type specifier - int assumed. Note: C++ does not
support default-int
1>d:\users\vishnu\boost-geometry-0.9.0\example\labeled_intersections.cpp(62)
: error C2086: 'int
boost::geometry::traits::exterior_ring<polygon_with_id>::ring_of_polygon_with_id'
: redefinition
1>
d:\users\vishnu\boost-geometry-0.9.0\example\labeled_intersections.cpp(57) :
see declaration of
'boost::geometry::traits::exterior_ring<polygon_with_id>::ring_of_polygon_with_id'
1>d:\users\vishnu\boost-geometry-0.9.0\example\labeled_intersections.cpp(62)
: error C4430: missing type specifier - int assumed. Note: C++ does not
support default-int
1>d:\users\vishnu\boost-geometry-0.9.0\example\labeled_intersections.cpp(62)
: error C4430: missing type specifier - int assumed. Note: C++ does not
support default-int
1>d:\users\vishnu\boost-geometry-0.9.0\example\labeled_intersections.cpp(59)
: error C2039: 'outer' : is not a member of 'polygon_with_id'
1>
d:\users\vishnu\boost-geometry-0.9.0\example\labeled_intersections.cpp(15) :
see declaration of 'polygon_with_id'
1>d:\users\vishnu\boost-geometry-0.9.0\example\labeled_intersections.cpp(64)
: error C2039: 'outer' : is not a member of 'polygon_with_id'
1>
d:\users\vishnu\boost-geometry-0.9.0\example\labeled_intersections.cpp(15) :
see declaration of 'polygon_with_id'
1>d:\users\vishnu\boost-geometry-0.9.0\example\labeled_intersections.cpp(70)
: error C2065: 'ring_of_polygon_with_id' : undeclared identifier
1>d:\users\vishnu\boost-geometry-0.9.0\example\labeled_intersections.cpp(74)
: error C2039: 'inners' : is not a member of 'polygon_with_id'
1>
d:\users\vishnu\boost-geometry-0.9.0\example\labeled_intersections.cpp(15) :
see declaration of 'polygon_with_id'
1>d:\users\vishnu\boost-geometry-0.9.0\example\labeled_intersections.cpp(79)
: error C2039: 'inners' : is not a member of 'polygon_with_id'
1>
d:\users\vishnu\boost-geometry-0.9.0\example\labeled_intersections.cpp(15) :
see declaration of 'polygon_with_id'
1>d:\users\vishnu\boost-geometry-0.9.0\example\labeled_intersections.cpp(124)
: error C2039: 'multi_polygon' : is not a member of 'boost::geometry::model'
1>d:\users\vishnu\boost-geometry-0.9.0\example\labeled_intersections.cpp(124)
: error C2143: syntax error : missing ';' before '<'
1>d:\users\vishnu\boost-geometry-0.9.0\example\labeled_intersections.cpp(124)
: error C4430: missing type specifier - int assumed. Note: C++ does not
support default-int
1>d:\users\vishnu\boost-geometry-0.9.0\example\labeled_intersections.cpp(124)
: error C2238: unexpected token(s) preceding ';'
1>d:\users\vishnu\boost-geometry-0.9.0\example\labeled_intersections.cpp(158)
: error C2039: 'output' : is not a member of 'intersection_visitor'
1>
d:\users\vishnu\boost-geometry-0.9.0\example\labeled_intersections.cpp(111)
: see declaration of 'intersection_visitor'
1>d:\users\vishnu\boost-geometry-0.9.0\example\labeled_intersections.cpp(158)
: error C2228: left of '.size' must have class/struct/union
1>d:\users\vishnu\boost-geometry-0.9.0\example\labeled_intersections.cpp(160)
: error C2039: 'output' : is not a member of 'intersection_visitor'
1>
d:\users\vishnu\boost-geometry-0.9.0\example\labeled_intersections.cpp(111)
: see declaration of 'intersection_visitor'
1>d:\users\vishnu\boost-geometry-0.9.0\example\labeled_intersections.cpp(160)
: error C2780: 'Strategy::return_type boost::geometry::area(const Geometry
&,const Strategy &)' : expects 2 arguments - 1 provided
1> d:\boost_1_47_0\boost\geometry\algorithms\area.hpp(270) : see
declaration of 'boost::geometry::area'
1>Build log was saved at
"file://d:\users\vishnu\boost-geometry-0.9.0\example\Debug\BuildLog.htm"
1>small_sample - 39 error(s), 2 warning(s)

--
View this message in context: http://boost-geometry.203548.n3.nabble.com/intersection-of-two-vectors-of-polygons-tp2875513p3183878.html
Sent from the Boost Geometry mailing list archive at Nabble.com.

Geometry list run by mateusz at loskot.net