X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Flibr2c2%2Ftracktype.cpp;h=5b41e1f5f26f58ade0d2f13eb197d9adae5b6987;hb=e0a4caf7d4ef980a90cd03117705310e0469e440;hp=1679dc3f93f8a736efa4f54718cb7a6040bb9db3;hpb=247742fbc1c27bfc9fdef4630afcdc2408cdd550;p=r2c2.git diff --git a/source/libr2c2/tracktype.cpp b/source/libr2c2/tracktype.cpp index 1679dc3..5b41e1f 100644 --- a/source/libr2c2/tracktype.cpp +++ b/source/libr2c2/tracktype.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 */ @@ -120,6 +120,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 +185,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); }