]> git.tdb.fi Git - r2c2.git/blobdiff - source/designer/measure.h
Use Objects in Manipulator::neighbors
[r2c2.git] / source / designer / measure.h
index b991d42be50b30eddc4c39697150565b4b0d9046..022c3140639427367b6c4d1d86b42655f1aacfa1 100644 (file)
@@ -2,10 +2,11 @@
 #define MEASURE_H_
 
 #include <sigc++/sigc++.h>
+#include <msp/gl/renderable.h>
 
 class Designer;
 
-class Measure
+class Measure: public Msp::GL::Renderable
 {
 private:
        enum State
@@ -22,12 +23,12 @@ public:
 private:
        Designer &designer;
        R2C2::Vector pointer;
-       R2C2::Vector spoint;
-       float sdir;
+       R2C2::Snap ssnap;
        float par_dist;
        float perp_dist;
        float adiff;
        State state;
+       Msp::GL::Mesh mesh;
 
 public:
        Measure(Designer &);
@@ -37,9 +38,10 @@ public:
        void start();
        void button_press(float, float, unsigned);
        void pointer_motion(float, float);
-       void render();
+       virtual void render(Msp::GL::Renderer &, const Msp::GL::Tag &) const;
 private:
-       void snap_to_tracks(R2C2::Vector &, float &);
+       void update_mesh();
+       void snap_to_tracks(R2C2::Snap &);
 };
 
 #endif