]> git.tdb.fi Git - r2c2.git/blobdiff - source/engineer/engineer.h
Make use of View3D in engineer
[r2c2.git] / source / engineer / engineer.h
index 72fdd29c877fcd778f0a829c9fec6f51fd4a049e..612fe6671854854d70cb29affd0854b831e8bdb0 100644 (file)
 #include "3d/layout.h"
 #include "3d/overlay.h"
 #include "3d/path.h"
+#include "3d/view.h"
 #include "network/server.h"
 #include "options.h"
 
-class MainPanel;
-class TrainPanel;
+class MainWindow;
 class TrainView;
 
 class Engineer: public Msp::RegisteredApplication<Engineer>
@@ -43,15 +43,11 @@ private:
        R2C2::Overlay3D *overlay;
        std::map<R2C2::Train *, Msp::GL::Color> train_colors;
 
-       Msp::GL::Camera camera;
-       Msp::GL::Lighting lighting;
-       Msp::GL::Light light;
-       Msp::GL::Pipeline pipeline;
+       R2C2::View3D main_view;
        Msp::GL::Mesh arrow_mesh;
 
-       MainPanel *main_panel;
+       MainWindow *main_wnd;
        std::list<R2C2::Train *> new_trains;
-       std::list<TrainPanel *> train_panels;
        std::list<TrainView *> train_views;
        Msp::Time::TimeStamp status_timeout;
        bool picking;
@@ -70,9 +66,8 @@ public:
        const R2C2::Catalogue &get_catalogue() const { return catalogue; }
        R2C2::Layout &get_layout() { return layout; }
        R2C2::Layout3D &get_layout_3d() { return layout_3d; }
-       const Msp::GL::Lighting &get_lighting() const { return lighting; }
+       R2C2::View3D &get_main_view() { return main_view; }
        void set_status(const std::string &);
-       void rearrange_panels();
        void add_train_view(TrainView &);
        void remove_train_view(TrainView &);
        void pick(bool);
@@ -83,11 +78,9 @@ private:
        void button_press(unsigned);
        void axis_motion(unsigned, float, float);
        void view_all();
-       void set_block_color(const R2C2::Block &, const Msp::GL::Color &);
-       void reset_block_color(const R2C2::Block &);
        void sensor_event(unsigned, bool);
        void block_reserved(const R2C2::Block &, const R2C2::Train *);
-       R2C2::Track *pick_track(const R2C2::Vector &);
+       R2C2::Object *pick_object(const R2C2::Vector &);
        void train_added(R2C2::Train &);
        void process_new_train(R2C2::Train &);
        virtual void sighandler(int);