- float min_x = 0;
- float max_x = 0;
- float min_y = 0;
- float max_y = 0;
- for(list<Track3D *>::const_iterator i=tracks.begin(); i!=tracks.end(); ++i)
- {
- Point minp, maxp;
- (*i)->get_bounds(angle, minp, maxp);
- min_x = min(min_x, minp.x);
- max_x = max(max_x, maxp.x);
- min_y = min(min_y, minp.y);
- max_y = max(max_y, maxp.y);
- }
+ Transform trans = Transform::rotation(-angle, Vector(0, 0, 1));
+ BoundingBox bbox;
+ for(Layout3D::ObjectMap::const_iterator i=objects.begin(); i!=objects.end(); ++i)
+ bbox = bbox|trans.transform(i->second->get_object().get_bounding_box());
+
+ const Vector &minp = bbox.get_minimum_point();
+ const Vector &maxp = bbox.get_maximum_point();