adjusted 3D modeling for walls

refactoring
new helper classes / methods
This commit is contained in:
2018-07-22 13:47:07 +02:00
parent da06bacb6b
commit 8ea7b7f3b6
13 changed files with 693 additions and 104 deletions

View File

@@ -55,6 +55,24 @@ public:
return *this;
}
/** switch between CW<->CCW */
void reverse() {
std::swap(p2, p3);
}
void rotate_deg(const Point3 rot) {
p1 = p1.rot(rot.x/180.0f*M_PI, rot.y/180.0f*M_PI, rot.z/180.0f*M_PI);
p2 = p2.rot(rot.x/180.0f*M_PI, rot.y/180.0f*M_PI, rot.z/180.0f*M_PI);
p3 = p3.rot(rot.x/180.0f*M_PI, rot.y/180.0f*M_PI, rot.z/180.0f*M_PI);
}
// void ensureCCW() {
// Point3 norm = cross(p3-p1, p2-p1);
// if (norm.z < 0) {
// reverse();
// }
// }
Point3 getNormal() const {
return cross( p2-p1, p3-p1 ).normalized();
}