X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2F3d%2Fendpoint.cpp;h=aedd6894491cac216cee0741bd2cf0f45fb7be80;hb=1c15570729bbce44f0518373ca5bf8bf41cfa3b3;hp=e851007b2ba0736546f27b6d81ae5bac2518a1c5;hpb=d15ac13f2e170f155b4bbd124df48400c339b644;p=r2c2.git diff --git a/source/3d/endpoint.cpp b/source/3d/endpoint.cpp index e851007..aedd689 100644 --- a/source/3d/endpoint.cpp +++ b/source/3d/endpoint.cpp @@ -13,7 +13,7 @@ namespace R2C2 { Endpoint3D::Endpoint3D(const Track3D &t, unsigned i): track(t), index(i), - mesh(track.get_layout().get_catalogue().get_endpoint_mesh()) + mesh(track.get_layout().get_catalogue().get_endpoint_mesh(track.get_track().get_type().get_appearance())) { track.get_layout().get_endpoint_scene().add(*this); } @@ -27,13 +27,12 @@ void Endpoint3D::render(GL::Renderer &renderer, const GL::Tag &tag) const { if(tag=="unlit") { - Vector p = track.get_track().get_endpoint_position(index); - float a = track.get_track().get_endpoint_direction(index)+M_PI; + Snap sn = track.get_track().get_snap_node(index); GL::MatrixStack::Push push_mtx(renderer.matrix_stack()); GL::Matrix matrix; - matrix.translate(p.x, p.y, p.z); - matrix.rotate(a, 0, 0, 1); + matrix.translate(sn.position); + matrix.rotate(sn.rotation+Angle::half_turn(), 0, 0, 1); renderer.matrix_stack() *= matrix; if(track.get_track().get_link(index))