/* * append gA+gB into the polygonSet */ void minkowskiSum( const Point& gA, const Polygon_2& gB, Polygon_set_2& polygonSet ) { BOOST_ASSERT( gB.size() ); CGAL::Aff_transformation_2< Kernel > translate( CGAL::TRANSLATION, gA.toVector_2() ); Polygon_2 sum ; for ( Polygon_2::Vertex_const_iterator it = gB.vertices_begin(); it != gB.vertices_end(); ++it ) { sum.push_back( translate.transform( *it ) ); } if ( sum.is_clockwise_oriented() ) { sum.reverse_orientation() ; } if ( polygonSet.is_empty() ) { polygonSet.insert( sum ); } else { polygonSet.join( sum ); } }