+ vector<const Shape *> shapes;
+ for(vector<TrackPart>::iterator i=obj.parts.begin(); i!=obj.parts.end(); ++i)
+ {
+ i->create_shape();
+ shapes.push_back(&i->get_shape());
+ }
+ obj.shape = Geometry::Union<float, 3>::from_iterator_range(shapes.begin(), shapes.end()).clone();