X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;ds=sidebyside;f=source%2Flibr2c2%2Flayout.cpp;h=5c4cf9e1d82d26f604fbb4f5a20736cf944937d6;hb=34f8bf04e4bdffefeceea59b186386b51c542b9d;hp=d6bd9ee909dee6f11c7016559ccdd24acbf7386a;hpb=6010ad6857ce5690f4053bf8795f2c476daa4694;p=r2c2.git diff --git a/source/libr2c2/layout.cpp b/source/libr2c2/layout.cpp index d6bd9ee..5c4cf9e 100644 --- a/source/libr2c2/layout.cpp +++ b/source/libr2c2/layout.cpp @@ -1,7 +1,7 @@ /* $Id$ This file is part of R²C² -Copyright © 2006-2010 Mikkosoft Productions, Mikko Rasa +Copyright © 2006-2011 Mikkosoft Productions, Mikko Rasa Distributed under the GPL */ @@ -86,6 +86,15 @@ void Layout::remove_track(Track &t) } } +Track *Layout::pick_track(const Vector &start, const Vector &ray) +{ + for(set::iterator i=tracks.begin(); i!=tracks.end(); ++i) + if((*i)->collide_ray(start, ray)) + return *i; + + return 0; +} + unsigned Layout::allocate_turnout_id() { set used_ids;