id,summary,reporter,owner,description,type,status,milestone,component,version,severity,resolution,keywords,cc 8363,Point-wise coordinate transformation?,Volker Schöch ,Barend Gehrels,"I have asked this question before – about a year ago. Just checking if there is any news in this regard: I would like to be able to apply a functor to every point in a multi-polygon, e.g., in order to transform an int-based polygon into a double-base polygon. This seems to be a canonical operation, like boost::adaptors::transform on ranges, and yet as far as I know there is no algorithm for this in geometry. This is how I currently do it: {{{ reserve( polygon.size() ); // vector of polygons for( std::vector< _TPolygon< S >::polygon_type >::const_iterator itp=polygon.begin(); itp!=polygon.end(); ++itp ) { emplace_back( polygon_type() ); back().outer().reserve( itp->outer().size() ); // vector of points describing polygon outline for( _TPolygon< S >::polygon_type::ring_type::const_iterator itouter=itp->outer().begin(); itouter!=itp->outer().end(); ++itouter ) { back().outer().emplace_back( _TPoint< T >(*itouter) ); } back().inners().reserve( itp->inners().size() ); // vector of holes for( _TPolygon< S >::polygon_type::inner_container_type::const_iterator itinners=itp->inners().begin(); itinners!=itp->inners().end(); ++itinners ) { back().inners().emplace_back( polygon_type::ring_type() ); back().inners().back().reserve( itinners->size() ); // vector of points describing a hole for( _TPolygon< S >::polygon_type::ring_type::const_iterator itinner=itinners->begin(); itinner!=itinners->end(); ++itinner ) { back().inners().back().emplace_back( _TPoint< T >(*itinner) ); } } } }}} Is there an algorithm in geometry 1.52.0 that I did not find? Do you plan to add an algorithm for this task at some point? ",Support Requests,closed,To Be Determined,geometry,Boost 1.52.0,Cosmetic,worksforme,"transform, iterate, foreach",mkaravel