////////////////////////////////////////////////////////////////////// // Basic operations self_ptr transform(const transformation& t) const { self_ptr new_paths(new self()); new_paths->reserve(size()); for (typename base::const_iterator i = begin(); i != end(); ++i) new_paths->push_back((*i)->transform(t)); return new_paths; }
T area() const { T a = 0; for (typename base::const_iterator i = begin(); i != end(); ++i) a += (*i)->area(); return a; }
void transform_in_place(const transformation& t) { for (typename base::iterator i = begin(); i != end(); ++i) (*i)->transform_in_place(t); }