float s = sin(dir);
for(vector<float>::iterator i=lengths.begin(); i!=lengths.end(); ++i)
{
- map<float, const TrackType *>::iterator j = types_by_length.find(*i);
- if(j==types_by_length.end())
- throw LogicError("Internal error");
-
- Track *track = new Track(designer.get_layout(), *j->second);
+ Track *track = new Track(designer.get_layout(), *get_item(types_by_length, *i));
track->set_position(pos);
track->set_rotation(dir);