Merge remote-tracking branch 'upstream/edge' into merge-abc-with-homing
[clinton/Smoothieware.git] / src / modules / tools / zprobe / Plane3D.h
1 #ifndef __PLANE3D_H
2 #define __PLANE3D_H
3
4 #include "Vector3.h"
5
6 #include <stdint.h>
7
8 // define a plane given three points
9 class Plane3D
10 {
11 private:
12 Vector3 normal;
13 float d;
14
15 public:
16 Plane3D(const Vector3 &v1, const Vector3 &v2, const Vector3 &v3);
17 Plane3D(uint32_t a, uint32_t b, uint32_t c, uint32_t d);
18 float getz(float x, float y);
19 Vector3 getNormal() const;
20 void encode(uint32_t& a, uint32_t& b, uint32_t& c, uint32_t& d);
21 };
22
23 #endif