list<Track *> new_tracks;
for(vector<MTrack>::iterator i=tracks.begin(); i!=tracks.end(); ++i)
{
- Track *track = new Track(*designer.get_layout(), i->track->get_type());
+ Track *track = new Track(designer.get_layout(), i->track->get_type());
track->set_position(i->track->get_position());
track->set_rotation(i->track->get_rotation());
new_tracks.push_back(track);
float dir1;
Track *track2 = tracks.back().track;
bool ok = false;
- float gap;
+ float gap = 0;
for(unsigned i=0; i<track1->get_type().get_endpoints().size(); ++i)
{
if(track1->get_link(i))
return;
}
- const map<unsigned, TrackType *> &track_types = designer.get_catalogue().get_tracks();
+ const Catalogue::TrackMap &track_types = designer.get_catalogue().get_tracks();
std::map<float, const TrackType *> types_by_length;
unsigned preference = 0;
- for(map<unsigned, TrackType *>::const_iterator i=track_types.begin(); i!=track_types.end(); ++i)
+ for(Catalogue::TrackMap::const_iterator i=track_types.begin(); i!=track_types.end(); ++i)
{
const vector<TrackPart> &parts = i->second->get_parts();
if(parts.size()!=1)
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(), *j->second);
track->set_position(pos1);
track->set_rotation(dir1);
for(vector<MTrack>::iterator j=tracks.begin(); j!=tracks.end(); ++j)
j->track->break_link(**i);
- const set<Track *> <racks = designer.get_layout()->get_tracks();
+ const set<Track *> <racks = designer.get_layout().get_tracks();
for(set<Track *>::const_iterator i=ltracks.begin(); i!=ltracks.end(); ++i)
{
bool ok = true;
i->track->set_rotation(i->rot);
}
- const set<Track *> <racks = designer.get_layout()->get_tracks();
+ const set<Track *> <racks = designer.get_layout().get_tracks();
MTrack *snapped = 0;
for(set<Track *>::const_iterator i=ltracks.begin(); (i!=ltracks.end() && !snapped); ++i)
{