- const set<Track *> &tracks = layout.get_tracks();
- float limit = layout.get_catalogue().get_gauge()*2;
- float dist = -1;
- for(set<Track *>::const_iterator i=tracks.begin(); i!=tracks.end(); ++i)
- if(!(*i)->get_type().is_turnout())
- {
- Snap sn;
- sn.position = position;
- sn.rotation = rotation;
- (*i)->snap(sn, limit, SNAP_SEGMENT);
- float d = distance(position, sn.position);
- if(d<dist || dist<0)
- {
- track = *i;
- dist = d;
- }
- }
-
- block = 0;
-
- if(!track)
- return;