X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2F3d%2Fpath.h;h=ceeb178ce04c6b11fa67e63792ce4f054fb70ba3;hb=bb7e754473aea2083c406b94060b9982c66f7473;hp=cd6ad90b8cb996643d15240d39c9e34a74e1ef4a;hpb=1ff06c5bc46a677fa389ef86c6b26664368f1653;p=r2c2.git diff --git a/source/3d/path.h b/source/3d/path.h index cd6ad90..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 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,12 +26,18 @@ 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(const Msp::GL::Tag &) const; + virtual void render(Msp::GL::Renderer &, const Msp::GL::Tag &) const; }; } // namespace R2C2