3 This file is part of the MSP Märklin suite
4 Copyright © 2006-2008 Mikkosoft Productions, Mikko Rasa
5 Distributed under the GPL
15 TrackPart::TrackPart():
25 void TrackPart::collect_endpoints(vector<Endpoint> &eps)
27 eps.push_back(Endpoint(x, y, dir+M_PI, 1<<route));
33 float a=((radius<0) ? -length : length);
36 float rx=radius*sin(dir);
37 float ry=-radius*cos(dir);
38 eps.push_back(Endpoint(x+c*rx-s*ry-rx, y+c*ry+s*rx-ry, dir+a, 1<<route));
41 eps.push_back(Endpoint(x+cos(dir)*length, y+sin(dir)*length, dir, 1<<route));
45 TrackPart::Loader::Loader(TrackPart &p):
48 add("start", &Loader::start);
49 add("length", &TrackPart::length);
50 add("radius", &TrackPart::radius);
51 add("route", &TrackPart::route);
52 add("dead_end", &TrackPart::dead_end);
55 void TrackPart::Loader::finish()
59 part.length*=M_PI/180;
70 void TrackPart::Loader::start(float x, float y, float d)
77 } // namespace Marklin