i->object->set_rotation(i->original_rotation);
}
- float limit = max(designer.get_layout().get_catalogue().get_gauge(),
- designer.get_camera_controller().get_view_scale()/100.0f);
+ float limit = designer.get_camera_controller().get_view_scale()/100.0f;
MObject *snapped = 0;
for(list<Boundary>::iterator i=boundaries.begin(); (!snapped && i!=boundaries.end()); ++i)
{
for(set<Object *>::const_iterator j=snap_targets.begin(); (!snapped && j!=snap_targets.end()); ++j)
- if((*i)->snap_to(**j, limit))
+ if((*i)->snap_to(**j, (i->limit>0 ? max(i->limit, limit) : limit)))
snapped = i->object;
}
MoveTool::Boundary::Boundary(MObject *o, unsigned i):
object(o),
- index(i)
-{ }
+ index(i),
+ limit(-1)
+{
+ if(Track *track = dynamic_cast<Track *>(object->object))
+ limit = track->get_type().get_appearance().get_gauge();
+}