]> git.tdb.fi Git - r2c2.git/blobdiff - source/designer/slopetool.h
Don't crash if a train has no router
[r2c2.git] / source / designer / slopetool.h
index b3b5e2b461e22d38e9a0689bd54c749d9e03e9b6..d319bb7715c90bc0aad77a29dd3e5a99bfd7dd09 100644 (file)
@@ -1,31 +1,23 @@
 #ifndef SLOPETOOL_H_
 #define SLOPETOOL_H_
 
+#include "libr2c2/object.h"
+#include "libr2c2/trackiter.h"
 #include "tool.h"
-#include "libr2c2/track.h"
 
 class SlopeTool: public Tool
 {
 private:
-       struct TrackOrder
-       {
-               R2C2::Track *track;
-               bool rev;
-
-               TrackOrder(R2C2::Track *t, bool r): track(t), rev(r) { }
-       };
-
-       std::list<R2C2::Track *> neighbors;
-       std::list<TrackOrder> tracks;
+       std::list<R2C2::TrackIter> tracks;
        float total_length;
 
 public:
-       SlopeTool(Designer &, Msp::Input::Mouse &, const std::set<R2C2::Object *> &);
+       SlopeTool(Designer &, Msp::Input::Keyboard &, Msp::Input::Mouse &, const std::set<R2C2::Object *> &);
 
        void even_slope(bool =false);
        void flatten();
 private:
-       void set_slope(TrackOrder &, float, const R2C2::Angle &);
+       void set_slope(const R2C2::TrackIter &, float, const R2C2::Angle &);
 };
 
 #endif