]> git.tdb.fi Git - r2c2.git/blobdiff - source/libr2c2/track.cpp
Improve the interface and algorithms of BlockAllocator
[r2c2.git] / source / libr2c2 / track.cpp
index 7b5e1a2315a81f079fbec8670a1905bfae2f9838..c2b190f0551410b149a408e450ee16041151295c 100644 (file)
@@ -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<DataFile::Statement> &st) const
 {
        st.push_back((DataFile::Statement("position"), position.x, position.y, position.z));