X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Flibmarklin%2Ftrackpart.cpp;h=f2b61be1f37f2050105d94f020d4347aeb1dd2dc;hb=6dc18b0e518407bd2a86602bae1e9bbae05da7c8;hp=90bc30c02b5bc105f8e537a41005f44b390ab026;hpb=52cbe8d99669f843f8f75c51128e2748584dd03a;p=r2c2.git diff --git a/source/libmarklin/trackpart.cpp b/source/libmarklin/trackpart.cpp index 90bc30c..f2b61be 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,65 +13,74 @@ using namespace std; namespace Marklin { TrackPart::TrackPart(): - x(0), - y(0), dir(0), length(0), radius(0), - route(0), + path(0), 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); add("radius", &TrackPart::radius); - add("route", &TrackPart::route); + add("path", &TrackPart::path); add("dead_end", &TrackPart::dead_end); } 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