+
+/*virtual*/ void Container::Rotate(Point point, double angle)
+{
+ for(std::vector<Object *>::iterator i=objects.begin(); i!=objects.end(); i++)
+ (*i)->Rotate(point, angle);
+}
+
+
+/*virtual*/ void Container::RotateSelected(Point point, double angle)
+{
+ for(std::vector<Object *>::iterator i=objects.begin(); i!=objects.end(); i++)
+ {
+ if ((*i)->state == OSSelected)
+ (*i)->Rotate(point, angle);
+ }
+}
+
+
+/*virtual*/ void Container::Mirror(Point p1, Point p2)
+{
+ for(std::vector<Object *>::iterator i=objects.begin(); i!=objects.end(); i++)
+ (*i)->Mirror(p1, p2);
+}
+
+
+/*virtual*/ void Container::MirrorSelected(Point p1, Point p2)
+{
+ for(std::vector<Object *>::iterator i=objects.begin(); i!=objects.end(); i++)
+ {
+ if ((*i)->state == OSSelected)
+ (*i)->Mirror(p1, p2);
+ }
+}
+
+
+/*virtual*/ void Container::Save(void)
+{
+ Object::Save();
+
+ for(std::vector<Object *>::iterator i=objects.begin(); i!=objects.end(); i++)
+ (*i)->Save();
+}
+
+
+/*virtual*/ void Container::Restore(void)
+{
+ Object::Restore();
+
+ for(std::vector<Object *>::iterator i=objects.begin(); i!=objects.end(); i++)
+ (*i)->Restore();
+}
+