X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Flibmarklin%2Ftrackpart.cpp;h=943832fff413577dc77eabdef5d7d16840d61dbc;hb=38fb8d56efde037a71c46a58bda314655e68ab6c;hp=90bc30c02b5bc105f8e537a41005f44b390ab026;hpb=52cbe8d99669f843f8f75c51128e2748584dd03a;p=r2c2.git diff --git a/source/libmarklin/trackpart.cpp b/source/libmarklin/trackpart.cpp index 90bc30c..943832f 100644 --- a/source/libmarklin/trackpart.cpp +++ b/source/libmarklin/trackpart.cpp @@ -1,3 +1,10 @@ +/* $Id$ + +This file is part of the MSP Märklin suite +Copyright © 2006-2009 Mikkosoft Productions, Mikko Rasa +Distributed under the GPL +*/ + #include #include "trackpart.h" @@ -6,8 +13,6 @@ using namespace std; namespace Marklin { TrackPart::TrackPart(): - x(0), - y(0), dir(0), length(0), radius(0), @@ -15,28 +20,40 @@ TrackPart::TrackPart(): dead_end(false) { } -void TrackPart::collect_endpoints(vector &eps) +void TrackPart::collect_endpoints(vector &eps) const { - eps.push_back(Endpoint(x, y, dir+M_PI, 1<(p) { add("start", &Loader::start); add("length", &TrackPart::length); @@ -47,24 +64,23 @@ TrackPart::Loader::Loader(TrackPart &p): void TrackPart::Loader::finish() { - if(part.radius) + if(obj.radius) { - part.length*=M_PI/180; - part.radius/=1000; + obj.length *= M_PI/180; + obj.radius /= 1000; } else - part.length/=1000; + obj.length /= 1000; - part.x/=1000; - part.y/=1000; - part.dir*=M_PI/180; + obj.pos.x /= 1000; + obj.pos.y /= 1000; + obj.dir *= M_PI/180; } void TrackPart::Loader::start(float x, float y, float d) { - part.x=x; - part.y=y; - part.dir=d; + obj.pos = Point(x, y); + obj.dir = d; } } // namespace Marklin