18 |
18 |
19 #pragma once |
19 #pragma once |
20 #include <functional> |
20 #include <functional> |
21 #include <QVector3D> |
21 #include <QVector3D> |
22 #include "basics.h" |
22 #include "basics.h" |
|
23 #include "maths.h" |
23 |
24 |
24 struct Point3D |
25 struct Point3D |
25 { |
26 { |
26 double x, y, z; |
27 double x, y, z; |
27 using CoordinateType = decltype(x); |
28 using CoordinateType = decltype(x); |
28 void assign(Axis axis, CoordinateType value); |
29 void assign(Axis axis, CoordinateType value); |
29 CoordinateType& get(Axis ax); |
30 CoordinateType& get(Axis ax); |
30 CoordinateType get(Axis ax) const; |
31 CoordinateType get(Axis ax) const; |
|
32 operator QVariant() const; |
31 }; |
33 }; |
32 |
34 |
33 namespace math |
35 namespace math |
34 { |
36 { |
35 Point3D transform(const Point3D point, const GLRotationMatrix& matrix); |
37 Point3D transform(const Point3D point, const GLRotationMatrix& matrix); |