34a8b9d0a1cdf10ac03e7ac0e9018567722ee9ad
Stefan Schuermans initial version, DXFs can b...

Stefan Schuermans authored 11 years ago

1) /* drawing (DXF) to G-code (NGC) converter
2)  * Copyright 2013 Stefan Schuermans <stefan@schuermans.info>
3)  * Copyleft: CC-BY-SA http://creativecommons.org/licenses/by-sa/3.0/
4)  */
5) 
6) #ifndef PATH_H
7) #define PATH_H
8) 
9) #include <vector>
10) 
11) #include "gcode.h"
12) #include "point.h"
13) #include "settings.h"
14) 
15) /// a 2D path, i.e. a number of connected lines in 2D space
16) class Path {
17) public:
18)   typedef std::vector<Point> Points; ///< type for points of path
19) 
20)   /**
21)    * @brief add a new point to the end of the path
22)    * @param[in] point point to add
23)    */
24)   void addPoint(const Point &point);
25) 
26)   /**
27)    * @brief add a new point to the end of the path
28)    * @param[in] x x coordinate of point to add
29)    * @param[in] y y coordinate of point to add
30)    */
31)   void addPoint(double x, double y);
32) 
Stefan Schuermans implement joining and impro...

Stefan Schuermans authored 11 years ago

33)   /**
34)    * @brief prepend other path to this one
35)    * @param[in] other other path to prepend
36)    */
37)   void prependPath(const Path &other);
38) 
39)   /**
40)    * @brief prepend other path in reverse to this one
41)    * @param[in] other other path to prepend
42)    */
43)   void prependReversedPath(const Path &other);
44) 
45)   /**
46)    * @brief append other path to this one
47)    * @param[in] other other path to appepend
48)    */
49)   void appendPath(const Path &other);
50) 
51)   /**
52)    * @brief append other path in reverse to this one
53)    * @param[in] other other path to appepend
54)    */
55)   void appendReversedPath(const Path &other);
56) 
57)   /**
58)    * @brief remove points too close to each other
59)    * @param[in] eqDist maximum distance of two points to be considered equal
60)    */
61)   void removeEqPoints(double eqDist);
62) 
Stefan Schuermans initial version, DXFs can b...

Stefan Schuermans authored 11 years ago

63)   /**
64)    * @brief convert path to G-code
65)    * @param[in] settings G-code creation settings
Stefan Schuermans process each layer z step b...

Stefan Schuermans authored 11 years ago

66)    * @param[in] z z coordinate to use for G-code of path
Stefan Schuermans initial version, DXFs can b...

Stefan Schuermans authored 11 years ago

67)    * @param[in,out] gcode new G-code is appended to existing G-code
68)    */
Stefan Schuermans process each layer z step b...

Stefan Schuermans authored 11 years ago

69)   void toGCode(const Settings &settings, double z, GCode &gcode) const;