Suite et fin de la fonction concaveCorner().

This commit is contained in:
Yoann 2012-01-12 20:57:27 +01:00
parent 50a348eff8
commit 4fb95b083b

View File

@ -158,17 +158,28 @@ Coin Quad::maxAngleCorner() const {
}
Coin Quad::concaveCorner() {
Vertex nne = Triangle(c[NW], c[NE], c[SE]).normal();
Vertex nse = Triangle(c[NE], c[SE], c[SW]).normal();
Vertex nsw = Triangle(c[SE], c[SW], c[NW]).normal();
Vertex nnw = Triangle(c[SW], c[NW], c[NE]).normal();
Vertex nne = Triangle(c[NW], c[NE], c[SE]).normalizedNormal();
Vertex nse = Triangle(c[NE], c[SE], c[SW]).normalizedNormal();
Vertex nsw = Triangle(c[SE], c[SW], c[NW]).normalizedNormal();
Vertex nnw = Triangle(c[SW], c[NW], c[NE]).normalizedNormal();
nne = nne;
nnw = nnw;
nse = nse;
nsw = nsw;
float dne1 = (nnw - nne).norm();
float dne2 = (nse - nne).norm();
float dse1 = (nne - nse).norm();
float dse2 = (nsw - nse).norm();
float dsw1 = (nse - nsw).norm();
float dsw2 = (nnw - nsw).norm();
//float dnw1 = (nsw - nnw).norm();
//float dnw2 = (nne - nnw).norm();
return NW;
if(dne1 >= 1.5 && dne2 >= 1.5)
return NE;
else if(dse1 >= 1.5 && dse2 >= 1.5)
return SE;
else if(dsw1 >= 1.5 && dsw2 >= 1.5)
return SW;
else
return NW;
}
Quad operator+(const Quad& q, const Vertex& v) {