MultiLineString* MultiLineString::reverse() const { size_t nLines = geometries->size(); Geometry::NonConstVect *revLines = new Geometry::NonConstVect(nLines); for (size_t i=0; i<nLines; ++i) { LineString *iLS = dynamic_cast<LineString*>((*geometries)[i]); assert(iLS); (*revLines)[nLines-1-i] = iLS->reverse(); } return getFactory()->createMultiLineString(revLines); }
void RectangleIntersectionBuilder::reverseLines() { std::list<geom::LineString *> new_lines; for (std::list<geom::LineString *>::reverse_iterator i=lines.rbegin(), e=lines.rend(); i!=e; ++i) { LineString *ol = *i; new_lines.push_back(dynamic_cast<LineString*>(ol->reverse())); delete ol; } lines = new_lines; #if GEOS_DEBUG std::cout << "After lines reverse, parts are " << *this << std::endl; #endif }