]> git.tdb.fi Git - r2c2.git/blobdiff - source/designer/extendtool.h
Use some template magic to deduce the proper 3D type
[r2c2.git] / source / designer / extendtool.h
index 979c9205ef7038ba907ef60498c74000b5700de1..69e184aceae37afc7ce3837725d9b0bfc3535ed9 100644 (file)
@@ -3,26 +3,26 @@
 
 #include <set>
 #include <vector>
-#include "libr2c2/track.h"
+#include "libr2c2/object.h"
+#include "libr2c2/trackiter.h"
 #include "tool.h"
 
 class ExtendTool: public Tool
 {
 private:
-       std::set<R2C2::Object *> objects;
+       std::vector<R2C2::TrackIter> unlinked_endpoints;
        std::vector<R2C2::Track *> extend_tracks;
-       bool accepted;
 
 public:
-       ExtendTool(Designer &, Msp::Input::Mouse &, const std::set<R2C2::Object *> &);
+       ExtendTool(Designer &, Msp::Input::Keyboard &, Msp::Input::Mouse &, const std::set<R2C2::Object *> &);
        virtual ~ExtendTool();
 
        void connect();
 
-       virtual void button_press(unsigned);
-       virtual void axis_motion(unsigned, float, float);
-
 private:
+       virtual void pointer_motion();
+       virtual void finish();
+
        std::vector<R2C2::Track *> create_straight(const R2C2::Vector &, const R2C2::Angle &, float, float);
 
 public: