X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Flibr2c2%2Ftrack.cpp;h=c2b190f0551410b149a408e450ee16041151295c;hb=dda1e6c8716b6ac70d63a3f6ff95474a8b8b7336;hp=7b5e1a2315a81f079fbec8670a1905bfae2f9838;hpb=7a36d396eded897c421424905b2c938d770df341;p=r2c2.git diff --git a/source/libr2c2/track.cpp b/source/libr2c2/track.cpp index 7b5e1a2..c2b190f 100644 --- a/source/libr2c2/track.cpp +++ b/source/libr2c2/track.cpp @@ -106,7 +106,6 @@ void Track::check_slope() } else { - slope = 0; if(links[0]) { Vector epp = links[0]->get_snap_node(links[0]->get_link_slot(*this)).position; @@ -115,7 +114,7 @@ void Track::check_slope() else if(links[1]) { Vector epp = links[1]->get_snap_node(links[1]->get_link_slot(*this)).position; - position.z = epp.z; + position.z = epp.z-slope; } } } @@ -317,17 +316,6 @@ bool Track::break_link(unsigned i) return true; } -bool Track::collide_ray(const Vector &start, const Vector &ray) const -{ - Transform trans = Transform::rotation(-rotation, Vector(0, 0, 1)); - Vector local_start = trans.transform(start-position); - Vector local_ray = trans.transform(ray); - - float width = layout.get_catalogue().get_ballast_profile().get_width(); - - return type.collide_ray(local_start, local_ray, width); -} - void Track::save(list &st) const { st.push_back((DataFile::Statement("position"), position.x, position.y, position.z));