X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2F3d%2Fpath.h;h=ceeb178ce04c6b11fa67e63792ce4f054fb70ba3;hb=abed4a255060d5a233ec0ac2dd60af9132e29201;hp=56e7a2f1be60279ae941aa9d55405cc312be7596;hpb=90790c9a28793d31b9ea38eea2f55652a0e9297b;p=r2c2.git diff --git a/source/3d/path.h b/source/3d/path.h index 56e7a2f..ceeb178 100644 --- a/source/3d/path.h +++ b/source/3d/path.h @@ -1,41 +1,45 @@ -/* $Id$ - -This file is part of the MSP Märklin suite -Copyright © 2010 Mikkosoft Productions, Mikko Rasa -Distributed under the GPL -*/ - -#ifndef MARKLIN3D_PATH_H_ -#define MARKLIN3D_PATH_H_ +#ifndef R2C2_3D_PATH_H_ +#define R2C2_3D_PATH_H_ #include #include #include +#include "utility.h" -namespace Marklin { +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; public: Path3D(const Track3D &); ~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 Marklin +} // namespace R2C2 #endif