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) #include <math.h>
7)
8) #include "point.h"
9)
10) Point::Point():
11) mX(0.0),
12) mY(0.0)
13) {
14) }
15)
16) Point::Point(double x, double y):
17) mX(x),
18) mY(y)
19) {
20) }
21)
22) double Point::abs_sq() const
23) {
24) return mX * mX + mY * mY;
25) }
26)
27) double Point::abs() const
28) {
29) return sqrt(mX * mX + mY * mY);
30) }
31)
32) Point Point::operator-() const
33) {
34) return Point(-mX, -mY);
35) }
36)
37) Point Point::operator+(const Point &that) const
38) {
39) return Point(mX + that.mX, mY + that.mY);
40) }
41)
42) Point Point::operator-(const Point &that) const
43) {
44) return Point(mX - that.mX, mY - that.mY);
45) }
46)
47) Point Point::operator*(double factor) const
48) {
49) return Point(mX * factor, mY * factor);
50) }
51)
52) Point Point::operator/(double factor) const
53) {
54) return Point(mX / factor, mY / factor);
55) }
56)
57) Point &Point::operator+=(const Point &that)
58) {
59) mX += that.mX;
60) mY += that.mY;
61) return *this;
62) }
63)
64) Point &Point::operator-=(const Point &that)
65) {
66) mX -= that.mX;
67) mY -= that.mY;
68) return *this;
69) }
70)
71) Point &Point::operator*=(double factor)
72) {
73) mX *= factor;
74) mY *= factor;
75) return *this;
76) }
77)
78) Point &Point::operator/=(double factor)
79) {
80) mX /= factor;
81) mY /= factor;
82) return *this;
83) }
84)
|
implement joining and impro...
Stefan Schuermans authored 11 years ago
|
85) /**
86) * @brief check if point is equal to another one
87) * @param[in] that other point
88) * @param[in] eqDist maximum distance of two points to be considered equal
89) */
90) bool Point::equals(const Point &that, double eqDist) const
91) {
92) return (*this - that).abs_sq() <= eqDist * eqDist;
93) }
94)
|