]> git.tdb.fi Git - r2c2.git/blobdiff - source/designer/designer.cpp
Make use of the geometry part of libmspmath
[r2c2.git] / source / designer / designer.cpp
index 6d2fd41eca30c17451b1babc510b13796f064e96..6d4d49d10b1c349138f027988cc1fa0af302afcd 100644 (file)
@@ -47,6 +47,7 @@ Designer::Designer(int argc, char **argv):
        cur_route(0),
        cur_zone(0),
        mode(SELECT),
+       sel_wrap(selection),
        manipulator(*this, mouse, selection),
        measure(*this)
 {
@@ -133,8 +134,7 @@ Designer::Designer(int argc, char **argv):
        statusbar->add(*lbl_status);
        lbl_status->set_geometry(GLtk::Geometry(20, 2, 300, 16));
 
-       track_wrap = new TrackWrap(*layout_3d, selection);
-       pipeline->add_renderable_for_pass(*track_wrap, "unlit");
+       pipeline->add_renderable_for_pass(sel_wrap, "unlit");
        overlay = new Overlay3D(ui_res.get_default_font());
        pipeline->add_renderable_for_pass(*overlay, "overlay");
        pipeline->add_renderable_for_pass(measure, "unlit");
@@ -154,7 +154,6 @@ Designer::~Designer()
        for(vector<Toolbar *>::iterator i=toolbars.begin(); i!=toolbars.end(); ++i)
                delete *i;
        delete camera_ctl;
-       delete track_wrap;
        delete overlay;
        delete main_view;
        delete base_object;
@@ -532,7 +531,7 @@ Object *Designer::pick_object(const Vector &pointer)
        const GL::Vector3 &cpos = view.get_camera().get_position();
        GL::Vector4 cray = view.get_camera().unproject(GL::Vector4(pointer.x, pointer.y, 0, 0));
 
-       return view.get_layout().get_layout().pick_object(Vector(cpos.x, cpos.y, cpos.z), Vector(cray.x, cray.y, cray.z));
+       return view.get_layout().get_layout().pick_object(Ray(cpos, Vector(cray)));
 }
 
 void Designer::update_track_icon(Track3D &track)