X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;ds=sidebyside;f=source%2Fdesigner%2Ftrackwrap.h;fp=source%2Fdesigner%2Ftrackwrap.h;h=09bacda3e7f8be18ba9dd43ffa802b93b2c89255;hb=897f9bae5f647bae43e9786796eb9ea18325ec17;hp=0000000000000000000000000000000000000000;hpb=45ec6f645ff2c303700711e96421c75acf33db1a;p=r2c2.git diff --git a/source/designer/trackwrap.h b/source/designer/trackwrap.h new file mode 100644 index 0000000..09bacda --- /dev/null +++ b/source/designer/trackwrap.h @@ -0,0 +1,42 @@ +/* $Id$ + +This file is part of the MSP Märklin suite +Copyright © 2010 Mikkosoft Productions, Mikko Rasa +Distributed under the GPL +*/ + +#ifndef TRACKWRAP_H_ +#define TRACKWRAP_H_ + +#include +#include +#include "libmarklin/track.h" + +class Designer; +class Selection; + +class TrackWrap: public Msp::GL::Renderable +{ +private: + struct Wrap + { + Marklin::Track *track; + Msp::GL::Mesh *mesh; + }; + + Designer &designer; + Selection &selection; + std::map meshes; + std::list wraps; + +public: + TrackWrap(Designer &, Selection &); + + virtual void render(const Msp::GL::Tag &) const; + +private: + void selection_changed(); + Msp::GL::Mesh &get_mesh(const Marklin::TrackType &); +}; + +#endif