Blame generatorradial.h

0a0ecd
0a0ecd
#ifndef GENERATORRADIAL_H
0a0ecd
#define GENERATORRADIAL_H
0a0ecd
0a0ecd
#include "generator.h"
0a0ecd
0a0ecd
class GeneratorRadialXYZ: public Generator {
0a0ecd
public:
0a0ecd
    Real step_z;
0a0ecd
    Real step_a;
0a0ecd
    Real step_r;
0a0ecd
    
0a0ecd
    Real min_r;
0a0ecd
    Real max_r;
0a0ecd
    Real min_z;
0a0ecd
    Real max_z;
0a0ecd
    Real safe_z;
0a0ecd
    
0a0ecd
    Real feed_speed;
0a0ecd
    Real move_speed;
0a0ecd
    
0a0ecd
    bool full_radius;
0a0ecd
    bool skip_middle_layers;
0a0ecd
    
0a0ecd
    explicit GeneratorRadialXYZ():
0a0ecd
        step_z(1),
0a0ecd
        step_a(1),
0a0ecd
        step_r(0.1),
0a0ecd
        min_r(),
0a0ecd
        max_r(),
0a0ecd
        min_z(),
0a0ecd
        max_z(),
0a0ecd
        safe_z(),
0a0ecd
        feed_speed(600),
0a0ecd
        move_speed(1500),
0a0ecd
        full_radius(false),
0a0ecd
        skip_middle_layers(false)
0a0ecd
    { }
0a0ecd
    
0a0ecd
    void tool_point(Track &track, const TrackPoint &p) const;
0a0ecd
    void tool_up(Track &track, Real safe_z) const;
0a0ecd
    void tool_feed(Track &track, Real safe_z, Real z1, Real z, Real x, Real y) const;
0a0ecd
    void touch(const Collider &collider, Track &track, Real safe_z, Real z1, Real z0, Real x, Real y, bool skip_z0) const;
0a0ecd
    
0a0ecd
    bool generate(const Collider &collider, Track &track) const override;
0a0ecd
};
0a0ecd
0a0ecd
0a0ecd
#endif
0a0ecd