X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2F3d%2Fpath.h;h=ceeb178ce04c6b11fa67e63792ce4f054fb70ba3;hb=b85fa11e45805cd71383577642030d8d01f43447;hp=029e7eb588f6dba9605cf1415cdca705ff32f17b;hpb=754ac497179474d0266b55e881a084fef7d5d6a1;p=r2c2.git diff --git a/source/3d/path.h b/source/3d/path.h index 029e7eb..ceeb178 100644 --- a/source/3d/path.h +++ b/source/3d/path.h @@ -1,27 +1,23 @@ -/* $Id$ - -This file is part of R²C² -Copyright © 2010-2011 Mikkosoft Productions, Mikko Rasa -Distributed under the GPL -*/ - #ifndef R2C2_3D_PATH_H_ #define R2C2_3D_PATH_H_ #include #include #include +#include "utility.h" namespace R2C2 { class Track3D; -class Path3D: public Msp::GL::Renderable +class Path3D: public Utility3D, public Msp::GL::Renderable, public sigc::trackable { private: const Track3D &track; - unsigned paths; + int path; + int side; bool automatic; + const Msp::GL::Mesh *mesh; Msp::GL::Color color; float z_offs; @@ -30,11 +26,15 @@ public: ~Path3D(); void set_automatic(); - void set_path(unsigned); - void set_mask(unsigned); + void set_path(int); + void set_side(int); void set_color(const Msp::GL::Color &); void set_layer(float); +private: + void path_changed(unsigned); + void update_mesh(); +public: virtual long get_instance_key() const; virtual void render(Msp::GL::Renderer &, const Msp::GL::Tag &) const;