X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Flibr2c2%2Ftracktype.cpp;h=b6971ca92175badf5cbddbcf772c9a785bc04140;hb=d15ac13f2e170f155b4bbd124df48400c339b644;hp=1679dc3f93f8a736efa4f54718cb7a6040bb9db3;hpb=247742fbc1c27bfc9fdef4630afcdc2408cdd550;p=r2c2.git diff --git a/source/libr2c2/tracktype.cpp b/source/libr2c2/tracktype.cpp index 1679dc3..b6971ca 100644 --- a/source/libr2c2/tracktype.cpp +++ b/source/libr2c2/tracktype.cpp @@ -1,10 +1,3 @@ -/* $Id$ - -This file is part of R²C² -Copyright © 2006-2010 Mikkosoft Productions, Mikko Rasa -Distributed under the GPL -*/ - #include #include "tracktype.h" @@ -120,6 +113,15 @@ TrackPoint TrackType::get_point(unsigned epi, unsigned path, float d) const } } +bool TrackType::collide_ray(const Vector &start, const Vector &dir, float width) const +{ + for(vector::const_iterator i=parts.begin(); i!=parts.end(); ++i) + if(i->collide_ray(start, dir, width)) + return true; + + return false; +} + void TrackType::collect_endpoints() { endpoints.clear(); @@ -176,6 +178,7 @@ TrackType::Loader::Loader(TrackType &t): { add("autofit_preference", &TrackType::autofit_preference); add("description", &TrackType::description); + add("object", &TrackType::object); add("state_bits", &Loader::state_bits); add("part", &Loader::part); }