-
Notifications
You must be signed in to change notification settings - Fork 7
/
layer.hpp
39 lines (30 loc) · 944 Bytes
/
layer.hpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#ifndef LAYER_H
#define LAYER_H
#include <string>
#include <fstream>
using std::string;
#include <vector>
using std::vector;
#include <boost/noncopyable.hpp>
#include "coord.hpp"
#include "surface.hpp"
#include "mill.hpp"
class Layer : boost::noncopyable
{
public:
Layer( const string& name, shared_ptr<Surface> surface, shared_ptr<RoutingMill> manufacturer, bool backside, bool mirror_absolute );
vector< shared_ptr<icoords> > get_toolpaths();
shared_ptr<RoutingMill> get_manufacturer();
string get_name() { return name; };
void add_mask( shared_ptr<Layer>);
void export_layer(std::ofstream* out, bool depthfirst,float safeheight, float finaldepth, float startdepth,
float stepdepth,float feedrate_dive, float feedrate_lift, float feedside);
private:
string name;
bool mirrored;
bool mirror_absolute;
shared_ptr<Surface> surface;
shared_ptr<RoutingMill> manufacturer;
friend class Board;
};
#endif // LAYER_H