X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fdesigner%2Ftrackwrap.cpp;h=398285f7acf70b335c7089be5fc5162ab8b01dfa;hb=7a36d396eded897c421424905b2c938d770df341;hp=47225e3904af04c39f6ae2afcd49efce68083b4a;hpb=6c2b29fb45402ee86b010f05367dad20972d25ed;p=r2c2.git diff --git a/source/designer/trackwrap.cpp b/source/designer/trackwrap.cpp index 47225e3..398285f 100644 --- a/source/designer/trackwrap.cpp +++ b/source/designer/trackwrap.cpp @@ -1,12 +1,6 @@ -/* $Id$ - -This file is part of R²C² -Copyright © 2010 Mikkosoft Productions, Mikko Rasa -Distributed under the GPL -*/ - #include #include +#include #include "3d/tracktype.h" #include "selection.h" #include "trackwrap.h" @@ -28,22 +22,22 @@ TrackWrap::~TrackWrap() delete i->second; } -void TrackWrap::render(const GL::Tag &) const +void TrackWrap::render(GL::Renderer &renderer, const GL::Tag &) const { for(list::const_iterator i=wraps.begin(); i!=wraps.end(); ++i) { - GL::PushMatrix _pushm; + GL::MatrixStack::Push push(renderer.matrix_stack()); const Vector &pos = i->track->get_position(); - GL::translate(pos.x, pos.y, pos.z); - GL::rotate(i->track->get_rotation()*180/M_PI, 0, 0, 1); - i->mesh->draw(); + renderer.matrix_stack() *= GL::Matrix::translation(pos); + renderer.matrix_stack() *= GL::Matrix::rotation(i->track->get_rotation(), 0, 0, 1); + i->mesh->draw(renderer); } } void TrackWrap::selection_changed() { wraps.clear(); - const set &tracks = selection.get_tracks(); + const set &tracks = selection.get_objects(); for(set::iterator i=tracks.begin(); i!=tracks.end(); ++i) { Wrap wrap; @@ -62,22 +56,19 @@ GL::Mesh &TrackWrap::get_mesh(const TrackType &type) const TrackType3D &type3d = layout.get_catalogue().get_track(type); float min_area = -1; - float angle = 0; + Angle angle; Vector center; float width = 0; float height = 0; - for(float a=0; a